c程式設計 求100到200之間的素數 解釋一下

時間 2023-01-26 18:10:09

1樓:施瓦辛格

#include

void main()

}把i=2寫到第二個for裡邊就好理解了,無論你前邊初始化為幾都沒有關係的,for迴圈就是這樣用的。

2樓:匿名使用者

若在迴圈之前定義i的值,它定義的就是全域性的變數,當第一個for執行第一個迴圈m=100之後i的值就是3了不會回到2,第二的迴圈m=101後就是4了,以此類推,那麼就無法正確判斷m是否為素數,若定義在for迴圈之後則一個迴圈之後i重新賦值為2,另去掉外定義的k可以去掉。

3樓:網友

對於每個m,要判斷這個m是否是素數,都要用i去除2到m-1的所有數,只有2到m-1都除不盡,才說明是素數。

所以外層for每次迴圈,i都要從2開始。

c語言輸出100-200之間的素數

4樓:知識慧

邏輯錯誤,準確位置為14行,正確**如下:

#include

int main()

}if (j>=i)

}return 0;

5樓:顛倒的世界

首先開啟, 新建一個vc專案,新增標頭檔案,如下圖所示。

然後新增main函式,如下圖所示。

這時定義 i, j,count三個變數,如下圖所示。

然後使用第一層for迴圈,使用第二層for迴圈。

如果j能被i整除,就跳出內層迴圈,判斷迴圈是否提前跳出,如果 j < i 說明在 2~j之間,i有可整除的數。

最後使用printf列印出i,用count計數,每五個數換行。

最後執行程式,如下圖所示就完成輸出了。

6樓:惡俗你去咯某哦

質數又稱素數。一個大於1的自然數,除了1和它自身外,不能被其他自然數整除的數。

7樓:匿名使用者

你每次判斷完一個數之後,應該要把count重新置0。

if(count==0) printf("%d",n);

else count=0;

8樓:yi指liu沙

我這有個c++語言的**,你自己改改就行了#include

#include

#include

using namespace std;

int main()

}if(flag==true)

}for(i=0;icout

9樓:擁抱

應該是對素數的定義沒有理解吧。

素數,是定義為在大於1的自然數中,除了1和它本身以外不再有其他因數。

簡而言之,素數就是隻能被1和它自己相乘得到的數。所以,除了1和它自己之外,它對其它數取餘數,結果都不是0。

同時,無論什麼數,除了它自己之外,最大的因數肯定是它的一半,所以只需要查詢到它的一半就可以了,不必從1查詢到它自己。而且,這裡是找素數,如果它的因數包括它自己的一半與數字2的話,那它也不會是素數了,所以查詢的界限定為比如 i/2 是不會有遺漏的。

至於你的原來的**裡為什麼是它自己開平方,我數學記得不多了,不是太清楚。

然後,就是根據定義去判斷一個數是不是素數,那麼,就必須讓它與從2到它的一半的所有的數的餘數都不為0,反應到**裡就是不僅僅要 「i % n !=0」,而且還要全部能除的數都除一遍,也就是「 n ==k」,這個時候,才能確定這個數是素數了。

#include

#include

int main()}

printf(""

return 0;

}輸出截圖:

還有一張是把 i 的初始值改為 3 的輸出截圖,可以說是很規整了!

如有幫助,煩請點採納,謝謝!

c編寫 設計一個程式,要求輸出100-200之間的全部素數,

判斷100-200之間的素數

10樓:匿名使用者

這個已經是老調長談了。

1 樓的,竟然是十級!!!佩服]

11樓:網友

呵呵,二樓也竟然是五級的,偶也佩服。

程式設計用自定義函式求100到200之間的素數

12樓:網友

#include ""

int isprime(int n)//判斷n是否是素數,是返回1,不是返回0

int i;

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

if(n%i==0)

return 0;

return 1;

int main()

int i;

printf("100到200之間的素數:")

for(i=100;i<=200;i++)if(isprime(i)==1)

printf("%d\t",i);

printf(""

用c語言編寫 求100~200的素數有哪些 要具體程式 謝謝!!

13樓:風若遠去何人留

**如下。

#include

int is_prime(int a)

int main()執行結果。

c語言程式程式設計:輸出100到200間的全部素數,每行輸出5個素數。

14樓:刺友互

1、開啟vc2010後的介面。

2、點選檔案---新建---專案。點選 32位控制檯應用程式 輸入名稱。

3、以上完成後,再點左擊c1後,右擊原始檔,——新增——>新建項。

4、再選擇c++檔案,檔名稱,現在都可以寫程式了。

#define max 100 巨集定義max=100。

6、最後執行結果如下。

15樓:匿名使用者

#include

#include

int ss(int n) /檢查n是否為素數,如果是則返回1,否則返回0*/

int main(void)

printf("total prime=%d",j);

return 0;}

16樓:網友

首先來理解素數的概念:

這些除了他本身和1不能被任何其他數字整除的數字叫做「素數」,又叫「質數」。

那麼程式設計思路就有了:

那麼我們在外面再加一圈迴圈n,讓 n 的取值範圍在 100 <=n <=200 之間,然後巢狀:

讓 i 在 1 < i < n 的範圍內進行迴圈,然後用 n % i,如果途中發現有非 0 的值,則表示該值非質數,讓s = 1終斷迴圈。

在迴圈的最後,判斷 s :如果 s 的值為0,則輸出n。

然後(還是在迴圈內)判斷n的值:若 n % 5 結果為4,則輸出""。

這就是全部的演算法,我已經寫得很詳細了 -

100到200之間的素數和結果是多少?

求100到200之間有多少個素數,用c++,並輸出這些素數

將100到200之間的素數輸出c語言程式

半清醒丶不言語 如下 include int main int i 0 for i 100 i 200 i int j 0 for j 2 j i 1 j if i j 0 break if j i printf d i return 0 結果如下 拓展資料 素數,除了1 和它本身不能被其他數整除的...

c語言100到200之間既能被3整除又能被7整除的數的和

先從100開始步長為1增量,找到一個能被7整除的數 再從這個數開始步長為7增量至200,所得之數肯定是7的倍數 再考察每一個數是否能被3整除,能整除的符合題意,累加求和,最後輸出。如下 include stdio.h int main int argc,char ar 執行結果如下 veket的小號...

c語言程式設計問題 求1到100的素數之和

include int main int i,j,k,s 0 for i 2 i 100 i k 1 for j 2 j j i j if i j 0 k 0 break s k i printf d n s return 0 程式設計 求3到100之間的素數之和 set talk off s1 0...