1. 程式人生 > 其它 >找出1000以內所有素數

找出1000以內所有素數

技術標籤:c語言

今天和大家分享一個列印1000以內所有素數的程式
這是我第一次在平臺上分享我寫的程式碼,希望對一些像我一樣的初學者有點幫助。

#include<stdio.h>
int main()
{
	int i,j,k=0;
	for (i = 2; i < 1000; i++)//1既不是素數也不是合數,所以從2開始
	{
		for (j = 2; j < i;j++)
		if (i%j == 0)
			break;
		if (j >= i)
		{

			printf("%d\t", i);
			k++;
			if (k % 5
== 0)//使輸出的結果每五個數在一行 printf("\n"); } } return 0; }

所謂素數就是除了1和它本身外沒有其他因數的數,所以要想判斷一個數n是素數就要保證它除1和n外沒有其他因數,也就是n除以從2到n-1的結果都有餘數。所以,我們在上面的程式碼中用兩個迴圈,第一個迴圈是i的迴圈,從2到1000,第二個迴圈是j的迴圈,j是小於i的,代表那些除數,只要出現可以整除的情況,即代表此時的i已經不是素數了,即可以用break,跳出本次迴圈提前進入下一次迴圈。我們在輸出i的時候,用了\t,\t是水平製表符,列印在螢幕上是8個空格,這是為了輸出美觀,為了輸出能夠更美觀,我們又引入了變數k,if(k%5==0) printf(" \n")代表每打印出5個素數,就換行,這樣輸出在螢幕上的結果是每五個一行的,看起來會比較美觀。

能力有限,這篇部落格就寫成這個樣子了,我會堅持寫下去,希望可以越來越好。