2016-02-07 58 views
-6

問題可能是不清楚,我要問和搜索是這樣的:在C++編程一個引入了命令是否有像「int」或「float」的函數,但對於素數?

  • 的int variabile的類型,整數
  • 布爾,布爾
  • 浮動

等..

我想知道是否有類似的方式來定義「素數」,如

prime n;

那麼當他的程序會記得$ n $時,它會自動只取素數。

的,與一個簡單的程序的應用程序:假設我要創建的操作的整數部分

π^ N

其中π= Pi和N =質數的列表。 數學這將是

樓[π^ N]

不,我現在該怎麼寫一個程序來列舉一些素數,例如:

int main() 
{ 
    for (int i=2; i<100; i++) 
    { 
     bool prime=true; 
     for (int j=2; j*j<=i; j++) 
     { 
      if (i % j == 0) 
      { 
       prime=false; 
       break;  
      } 
     } 
     if(prime) cout << i << " "; 
    } 
    return 0; 
} 

但我真的不知道如何繼續......還有,我很抱歉表達我想要做的事情!

+1

創建一個帳戶嘗試一下這是一個C的問題或C++的問題?還是專門針對C++ 11?你的標籤衝突。 –

+0

將支持哪些操作?我猜乘法是出來的? –

+5

你知道,知道某物是素數(對於大數)在計算上相當困難,對嗎? –

回答

-1

沒有我的朋友,沒有任何選擇像你問的任何東西。
但有一些方法爲:
首先,使用結構,聯合體,類型定義這些被用來在C浪

否則創建數據類型,其次,創建一個函數黃金(),並添加到庫,並且每當你想包含該頭文件,然後使用該fxn將用戶定義函數添加到庫中(使用tlib.exe -TurboLibrarian): -
信息:-in cmd-tlib math.lib + c:\ prime.obj(注意:使用' - '從庫中刪除fxn)
如何使用:
#include < math.h>
........................
.......................
prime(n)
等等等等等號
........................
通過這種方式,您可以快速檢查素數,將那些添加到數組,然後你將有一個只包含素數否的數組(0127)

1

關於所有提到的語言標籤答案是

號素數都包含在INT因爲所有的素數是整數。

查找整數是否也是素數時,需要在函數中實現的算法。

假設素數類型存在,並且用一個不等於4的vulue初始化它......編譯器應該說類似於類型不匹配的東西,並且不允許您運行程序。 聽起來很簡單,但是當真的很大時會發生什麼。它必須應用算法,這意味着它不再是編譯器問題。

0

有一些專門的語言和庫。例如Pari/Gp這與許多貸相關功能一個很好的解釋(解釋稱成C庫,所以它的速度快):對於例子

primes(100) 

給你的前100個質數的載體。甚至有一個isprime的素性測試。開始玩是非常好的和容易的。當你對重代數數論有興趣時,這也是可能的。你的例子:

P = precision(Pi, 1000) 
vector(100, i, floor((P^prime(i)))) 

第一行創建具有足夠高的精度求冪PI,第二行創建與地板的具有p測距超過療法第一素數100評價(PI^p)的一個列表。

有一個程序gp2c它將您的高級gp解釋器腳本轉換爲使用基礎庫的可編譯C程序。當你需要更多的速度時,你可以使用它,但是一開始:使用gp解釋器。

還有其他的包,我也推薦SAGE。它是Maple和Mathematica的開源替代品。 SAGE使用Python作爲腳本語言,在這裏你可以使用:

for p in primes_first_n(100): print p 

[ floor(pi^p) for p in primes_first_n(100) ] 

您可以通過爲online version of SAGE

相關問題