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

2021-12-22 19:50:47 字數 4017 閱讀 9309

1樓:知識慧

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

#include

int main()

}if (j>=i)

}return 0;

}擴充套件資料:

質數又稱素數。一個大於1的自然數,除了1和它自身外,不能被其他自然數整除的數叫做質數;否則稱為合數。

質數的個數是無窮的。歐幾里得的《幾何原本》中有一個經典的證明。它使用了證明常用的方法:

反證法。具體證明如下:假設質數只有有限的n個,從小到大依次排列為p1,p2,……,pn,設n=p1×p2×……×pn,那麼,

是素數或者不是素數。

如果為素數,則

要大於p1,p2,……,pn,所以它不在那些假設的素數集合中。

如果 為合數,因為任何一個合數都可以分解為幾個素數的積;而n和n+1的最大公約數是1,所以不可能被p1,p2,……,pn整除,所以該合數分解得到的素因數肯定不在假設的素數集合中。因此無論該數是素數還是合數,都意味著在假設的有限個素數之外還存在著其他素數。所以原先的假設不成立。

也就是說,素數有無窮多個。

其他數學家給出了一些不同的證明。尤拉利用黎曼函式證明了全部素數的倒數之和是發散的,恩斯特·庫默的證明更為簡潔,哈里·弗斯滕伯格則用拓撲學加以證明。

2樓:顛倒的世界

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

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

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

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

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

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

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

3樓:麴生軒轅晨希

#include

void

main()}

4樓:惡俗你去咯某哦

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

5樓:匿名使用者

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

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

else count=0;

6樓:yi指liu沙

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

#include

#include

using namespace std;

int main()

}if(flag==true)

}for(i=0;i

cout<

return 0;}

7樓:擁抱

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

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

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

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

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

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

#include

#include

int main()}}

printf("\n");

return 0;

}輸出截圖:

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

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

8樓:匿名使用者

#include

int main()

if(count==0)

printf("%d\n",n);

}return 0;}

c語言求100-200之間的素數

9樓:匿名使用者

思路:先定義一個函式isp用來判斷一個數是否是素數,所謂素數是除了1和自身沒有其他的因數,所以從2到該數減一,判斷其是否可以整除該數,如果可以該數就不是素數,否則該數就是素數。最後從100到200依次判斷並輸出素數。

#include

int fun(int n){

int i;

for(i=2;i

10樓:匿名使用者

原程式:

#include

main()

if (j=i)

printf("%d\n",i);}}

這樣應該可以,但效率算不上很高

11樓:世俗

#include

int main()

return 0;}

12樓:匿名使用者

void main()

if(i==j)

printf("%d\n",i);}}

13樓:

c語言求100至200之間的素數,這個真不太清楚,這個具體的他們之間的素數有哪些數字?

編寫c語言程式,求100~200之間所有素數。

14樓:匿名使用者

素數就是隻能被1和本身整除的數,先定義一個函式用於判斷一個數是否是素數,在從100到200依次迴圈判斷,如果是素數則輸出。

#include

int fun(int n){//判斷n是否是素數int i;

for(i=2;i

15樓:彌鷗逮成蔭

#include

void

main()

void

outputsushu(int

k)if(w==0)

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

else

printf("%d\t不是素數\n",k);}

16樓:王澤無敵真的

# include

# include

int main()

if(k>sqrt(i*1.0))

if(n%10==0)

printf("\n");

}return 0;}

17樓:

#include

#include

int isprime(int n)

void main()

printf("\n");

for(i=2;i<1000;i++)

18樓:匿名使用者

#include

#include

#include

int primer_number(int lower, int upper)

if (flag == 0)

count++;

}return count;

}int main(void)

請用c語言編寫程式輸出100 999之間的所有迴文數

對於三位數來說,只要百位和個位相同就是迴文數,根據此思路,寫程式如下 include int main 希望接納。o 努力!include include include void check int i if strcmp p,q 注意strcmp,該函式返回false如果兩個字串相等,true如...

c語言,輸入3,輸出,c語言,輸入3,輸出1 2,3 4,

include int main int argc,char argv c語言中如何讓1 2 3 4 5 6 7 8 9 10的結果以小數輸出 首先你要強制轉bai換下1 3 5 7 9 讓他們為dufloat 這樣算出來的結果就zhi為浮點型 float dao1 然後 printf f 列印版 ...

c語言這個輸出是什麼,C語言,這個輸出是什麼???

首先你是不是打錯了,06.1d 應該是 06.1f 這樣才可能輸出,d輸出整形,沒辦法輸出浮點,然版後 06.1f中6是用六個位置,0是指第一個非零數字前用零填充,1小數點後保留1位小數,float又是單精度浮點數,過指定小數位自動四捨五入,是輸出 所以k 100 85.67,輸權出就是0085.7...