-
給出乙個函式,用於確定數字是否為素數。
bool judegenum(int num)if(num == 1)
return true;
for(int i=2; ireturn false;
return true;
給出了主要功能。
int main()
for(int i=1; i<=100;i++)if(judgenum(i) == true)。
printf("%d", i);
-
我沒有學過c,但我用c++寫過乙個,你指的是這個想法(只寫關鍵部分)for(i=0; i<100;i++)
for(j=2;jif(i%j==0)
flag=1;如果找到乙個因子,則讓 flag=1
-
前 2 個 c,我的是 c
public static void main()bool isv = new byte[101];
for(int i = 0;i < 101; i++)isv[i] = true;
for(int i = 3; i < 101;i++)if(isv[i]) for(int j = 2; i * j <= 100; j++)isv[i * j] = false;
for(int i = 0;i < 101; i++)"", isv[i]);
-
如果要用c來計算1到100之間所有素數之和,首先要知道什麼是素數?
乙個數是否是素數“素數”是乙個自然數,除了 1 和它本身之外,它不能被任何整數整除。 像 1、2、3、5、7 都是質數。
一旦你理解了質數的概念,那麼程式就很容易編寫了。 要知道乙個數字 x 是否為素數,那麼 1 x 之間的所有整數都需要除以 x,如果有這樣乙個數字(除了 1 和 x)可以被 x 整除(餘數為 0),那麼 x 不是素數,否則 x 是素數。 這是乙個通用解決方案。
然後由您來優化它。
實際上,我們不需要檢查 1 x 之間的所有整數。 只需檢查 1 [根數 x] 之間的數字,您就可以開始了。 至於為什麼,可以從乘法的角度來理解,我們是在做除法,其實反之就是乘法。
讓我們以確定 15 是否為素數為例。 當我們除以 3 時,3*5=15。 因此,在判斷 3 的同時,我們也判斷另乙個數字 5。
所以我們只需要檢查根數x,當根數x被勾選時,根數x也會在根數x之後被勾選。
**(c#private static void printprimes(int n)
if (j > k)}}
printprimes(100);可以列印從 1 到 100 的所有質數。
請注意 for 迴圈。
考慮先將這 100 個數字放在乙個陣列中,一次取乙個隨機位置(第一次為 1-100,第二次為 1-99,..)。將該位置的編號與最後乙個位置的編號交換即可。 >>>More
bool f=0;
for(int i=1000;i>=1;我--)從最大的數字 1000 開始,然後嘗試使用較小的數字。 >>>More