求1-N之間的素數
阿新 • • 發佈:2019-02-12
一、什麼是素數:
素數(prime number)又稱質數,有無限個。一個大於1的自然數,除了1和它本身外(因為1既不是素數,也不是合數),不能被其他自然數(質數)整除,換句話說就是該數除了1和它本身以外不再有其他的因數.
比如:2,3,5,7,11,…等。
二、如何判斷一個數是否為素數:
該數除了1和它本身以外不再有其他的因數,通俗的講,就是隻能被1和這個數本身整除,不能被其它數整除
程式碼實現:
for (j = 2; j<i; j++)//j不能從1開始,因為1能整除任何數,所以j從2開始
{
if (i%j == 0)
break ;
if (i == j)
printf("%d ", i);
}
三、找出1-N之間的素數:
實現思路:
先判斷這個數是否為素數,如果是,輸出這個數,如果不是,則判斷下一個數是不是素數;
程式碼實現:
void FindSuShu(int n)
{
int i = 0, j = 0;
int count = 0;
for (i = 1; i <= n; i++)
{
for (j = 2; j < i; j++)
{
if (i%j == 0)
break ;
}
if (i == j)
{
printf("%d ", i);
count++;
if (count % 5 == 0)
printf("\n");
}
}
}
int main()
{
int n = 0;
scanf("%d", &n);
FindSuShu(n);
printf("\n");
return 0;
}