乙個c 素數問題,找到乙個比這個整數大的最小素數用c

時間 2025-03-21 07:20:23

1樓:網友

#include

#include

void sprint(int &)

int main()

int num=0;

cin>>num;

while(num)

sprint(num);

cout<>num;

return 0;

void sprint(int &n)

int i=1,j=0,judg=1;

for(i=2;i<=n;judg=1,i++)你的問題就出在這裡,judg被賦值為0後,下次徇環就要再重新賦值為1,還有,這裡的for 徇環初值要從2開始,因為1不是素數,也不是合數。*/

for(j=2;j<=(int)sqrt(i);j++)這裡的型別轉換應該把括號加在"int"上,而不是後面部分喲。

if(i%j==0 &&i!=j)

judg=0;

if(judg)

cout希望我們以後可以一起討論c++

找到乙個比這個整數大的最小素數用c++

2樓:

除了1和自身之外不能整除其它數, 稱之為素數。 最小的素數是2. 沒有最大的素數。

關於素數的演算法, 一般有2種。第1種, 給出乙個數n(n >=2), 判斷n是不是素數第2種, 給出乙個數n(n >=2), 把[2, n]的所有素數拿出來判斷乙個數n是否是素數, 最簡單粗暴的方法就是把n分別與i(i的範圍是[2, n-1])求餘稍微想一下我們就能知道, 只需判斷n與[2, n/2]求餘即可再高階點利用數學上的證明, 可以得出, 只需判斷n與[2, sqrt(n)]求餘即可。

用c++判斷乙個數是否是素數

3樓:思念是一種醉過

方法如下:

首先先定義乙個函式用於判斷乙個數是否是素數,接著主函式接受鍵盤輸入,並呼叫該函式判斷輸入的數是否是素數。

1、補充:素數就是隻能被1和自身整除的數。故判斷n是否是素數,可以用n依次除以n-1,n-2……2,如果能整除則不是素數,否則是素數。

2、示例:#include

#include

using namespace std;

int isfun(int n)

return 1;

int main( )

4樓:匿名使用者

# include

int main(void)

if (k)//如果j賦給了k,那麼k不等於0,為真,輸出不是素數;如果j沒有賦給k,那麼k等於0,為假,輸出是素數。

printf("%d不是素數!", i);

elseprintf("%d是素數!", i);

return 0;}

5樓:

//#include ""//vc++加上這一行。

#include ""

using namespace std;

bool prime(int n)

呼叫這個函式就可以了……

6樓:

設定乙個迴圈,用乙個2至這個數的平方根(取較大整數)數去除這個數,不存在任意一數可整除,則這個數就是素數,否則不是。如:

for(i=2;i*i<=n;i++)

if(n%i==0)

break;

if(i*i>=n)

printf("%d是素數",n);

elseprintf("%d不是素數",n);

7樓:文庫精選

內容來自使用者:kettykettykett判斷乙個數是否為素數。

#include

#include

void main( )

求100-200間的所有素數;

#include

#include

void main( )

if(n%10= =0)

printf(「」

printf(「」

函式:#include

void disp(x)

int x;

main( )

8樓:春雨_潤物

素數是隻能被1和它本身整除的數。所以可以用乙個for迴圈,用乙個數從2開始一直除到比它小1的數,如果沒有乙個能被整除,這個數就是素數。

return 是函式的返回值,就是說跳出乙個函式時整個函式被乙個值代替在原位置。返回什麼要看它的執**況。

這裡的意思是說如果是素數就返回1,如果不是素數就返回乙個0。

9樓:網友

依照你的迴圈for(i=2;i<=k;i++)注意,後面有個i++,所以如果該數是素數,那麼迴圈到i=sqrt(m)時,m仍不會被整除,因此i會自增1個單位,由此有i>k,此時就可以斷定m是素數了。

10樓:富鵬同

你利用的是這個迴圈:讓乙個待檢測的數依次除以2,3,4……一直到該數的平方根,如果能整除就說明該數不是素數。

依照你的迴圈for(i=2;i<=k;i++)注意,後面有個i++,所以如果該數是素數,那麼迴圈到i=sqrt(m)時,m仍不會被整除,因此i會自增1個單位,由此有i>k,此時就可以斷定m是素數了。

o(∩_o

11樓:藍兔小童鞋

#include""

#include""

main()

判斷是否為素數,只需要判斷它是否只能被1和它本身整除。

C語言問題,乙個C語言問題

錯誤是 d 了 因為陣列名s,代表字串陣列的首位址,s指向的位址就是s 0 的位址。gets s 正確則gets s 0 也是正確的,所以 a,c 正確。而scanf s s 1 實際上只是不從s 0 開始,而是從s 1 開始賦值而已,既然只輸給它5個字元,所以從s 1 開始賦值也不會過界,則b是正...

C語言問題,乙個C語言問題

include void main printf 它們的和為 d sum include int main if i 3 0 return 0 include main printf n printf sum d sum system pause include int main printf su...

c語言的問題,C語言的一個問題

這是中國mooc上的題目吧,你的程式其實是正確的。知道為何 說 格式錯誤 了嗎?include int main 上面這個程式經驗證是可通過的。include int main 而原先我的這個程式卻不行!0分!覺得明明是同一套程式吧,他喵的我發現運算子與變數之間要空格,評分系統才認你的程式,等號兩邊...