找出1000以內所有素數
阿新 • • 發佈:2021-01-15
技術標籤: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個素數,就換行,這樣輸出在螢幕上的結果是每五個一行的,看起來會比較美觀。