1樓:曠野行風
#include
int main()
大概和素數表對照了一下,最後幾個數是對的。
c語言 用篩法求1-1000之間的素數
2樓:刺友互
1、寫我們的標頭檔案和主函式。寫好我們的開頭。
2、編寫定義變數,我們語言定義一個i來用於後面的for迴圈。
3、輸入一個數,在那之前我們要有一個printf()提示一下,顯得程式有調理。
4、利用for迴圈看一看從2到n-1是否能被n整除,如果能就要break。
5、判斷素數,如果程式正常結束,就i>=n,說明他就是素數。
3樓:匿名使用者
篩選法的規律:(以1~1000內的素數少選為例)我們知道素數的定義:只能被1和他本身整除的是素數,那這樣看的話,只要有一個既不是1又不是這個數本身的數把這個數整除了,就可以說明這個數不是素數了。
例如 5是素數,因為5只能被5和1整除,6不是素數,,因為6除了能被1和6整除,還能被2和3整除。試想一下,我們要判斷6是不是素數,需不需要迴圈到6的時候才進行判斷呢,不需要,因為2和3都是他的因子,我們在迴圈到2的時候,找到2的所有倍數,如4,6,8,10,12等等,這些數都至少有2這個因子,因此可以判定它們都不是素數了。而由於4是2的倍數,在迴圈到2的時候已經判定4不是素數了,所以我們不需要在挖掉4的倍數了,直接跳過4,來到5,挖掉5的所有倍數,然後是6,6在值錢是2的倍數被挖掉了,所以跳過6,來到7...
一直迴圈到最後一個數字為止,這個時候就是上面7步中說的,剩下沒有被挖掉的(挖掉的含義就是把這個數置0)也就是非0的數字就是素數了。
不知道我說的你能不能聽懂。希望對你有幫助吧。
#include
int main()
for(i=1;i<1000;i++)
if(prime[i]!=0)
printf("%d ",prime[i]);最後非0的數字輸出return 0;}
c語言中怎麼1到1000所有的質數
4樓:
第二個for那裡有問題,改成。
for (i=2;i<=(a-1);i++)
編寫一個程式,輸出1~1000之內所有的素數(注意:素數即質數)及個數(c語言)
5樓:匿名使用者
剛好在做c++,順便幫你做下,望採納!
#include
main()
}printf("素數的個數:%d",sum);}
c語言,求1到1000的質數
c語言,輸出1到1000的非素數
c語言如何編寫1到1000內超級素數
6樓:諾諾百科
可以改的地方是,如果為了讓程式執行速度更高,偶數是不用判斷的,所以n可以從3開始而且每次加2;說有問題是你的自己上無法編譯還是什麼情況。
應改為:#include
int prime(int n)
int i = 0;
for (i = 2; i * i <=n; i++)if (n % i ==0)
break;
if (i * i > n)
return 1;
elsereturn 0;
int main()
int i = 0;
for (i = 2; i <=1000; i++)if (prime(i)==1)
printf("%d ",i);
return 0;
7樓:流氓導
這個程式沒有問題,我在自己的機子上通過編譯了;唯一可以改的小地方是,如果為了讓程式執行速度更高,偶數是不用判斷的,所以n可以從3開始而且每次加2;你說有問題是你的自己上無法編譯還是什麼情況。
8樓:匿名使用者
你的程式是有問題的,因為函式的返回值是for迴圈的最後一次確定的,在其他的時候n%i==0並沒有影響返回值。
應改為:#include
int prime(int n)
}if (i * i > n)
else}int main()
} return 0;}
9樓:匿名使用者
沒有問題,完全正確。
只是小細節問題,但不影響程式執行結果。
if(n%i==0)//改一下這裡可以提高效率main前最好加個void
c語言編寫一個求素數函式1至1000之間
10樓:匿名使用者
**如下:
#include
int foundit(int i) /按照題意,定義了一個函式,判斷是否素數。
int main()
}return 0;
}執行的結果:
3和5、5和7、11和13、17和19、29和31、41和43、59和61、71和73、101和103、107和109、137和139、149和151、179和181、191和193、197和199、227和229、239和241、269和271、281和283、311和313、347和349、419和421、431和433、461和463、521和523、569和571、599和601、617和619、641和643、659和661、809和811、821和823、827和829、857和859、881和883
c語言程式設計 求1到20的素數
以下是求1到20的素數的c語言程式 c include int main int i,j,flag printf 1 20的素數有 for i 2 i 20 i flag 0 for j 2 j i 2 j if i j 0 flag 1 break if flag 0 i 1 printf d i...
用C語言輸出1到100內所有的素數
1 首先新建一個空白的c語言檔案,引入標頭檔案,標頭檔案中包括math庫,稍後會用到,建立主函式 2 主函式上面新建一個判斷素數的函式isprime,判斷依據是小於從2到算數平方根的數即是素數。然後在主函式中遍歷2到100的數,呼叫isprime判斷滿足素數條件就輸出 3 寫完 最後開啟編譯後的除錯...
用c語言輸出1到10000之間的所有素數
莫道無情 c語言程式如下 include int main int i,j,k 0 for i 2 i 10000 i for j 2 j j i j if i j 0 break if j j i printf d i k if k 5 0 printf n int main if flag re...