古詩詞大全網 - 成語查詢 - c語言如何輸出素數?

c語言如何輸出素數?

第壹種方法就是用1到100之間的每個數字,除以2到其本身前面的那壹個數字,如果此過程中出現整除的現象,則該數不是素數。如果沒有整除的現象,則該數為素數輸出。代碼如下#include<stdio.h>

int main()

{

int i = 0;

int count = 0;

for (i = 1; i <= 100; i++)

{

int j = 0;

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

{

if (i%j == 0)

{

break;

}

}

if (i == j)

{

count++;

printf("%d ", i);

}

}

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

return 0;

}

第二種方法使用了SQRT函數,也就是平方根,這裏的平方根是整數。眾所周知,非素數可以寫成除了1和它本身相乘的a*b方式,而a、b之間必有壹個小於等於ab之積的開平方根;如果這個非素數能夠被a整除,則相應的肯定會被b整除。這種方法用1到100之間的數字除以2到它的開平方根(如果該數的平方根是整數則可以除到),在此之間如果出現整除現象,則該數不是素數;如果沒有出現整除現象,則該數是素數。顯而易見,這種方法比第壹種方法要簡便,運行的次數少#include<stdio.h>

#include<math.h>

int main()

{

int i=0;

int count=0;

for(i=1;i<=100;i++)

{

int j=0;

for(j=2;j<=sqrt(i);j++)

{

if(i%j==0)

{

break;

}

}

if(j>sqrt(i))

{

count++;

printf("%d ",i);

}

}

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

return 0;

}