描述1-N之間所有的素數
阿新 • • 發佈:2019-02-17
題目:
輸出1-N之間所有的素數。
輸入:
一個整數N(2<=N<=10000)
輸出:
1-N之間所有的素數,含有N,為了便於觀察,在控制檯裡每行輸出5個數,並且這5個數之間以一個空格作為分隔。
想法:
1、關於判斷是不是素數,可以通過兩層迴圈,第一層控制使1到所想的數值之間迴圈,第二層控制判斷,定義一個flag用來判斷是不是素數(素數為1,不是素數為0)。如果是素數就跳出迴圈,最後用if語句輸出所有的滿足條件的素數。
2、關於輸出格式的話,定義一個變數i,在每個素數輸出之後
加一,每次整除5時輸出一個轉行符,最後達到輸出要求。(也可以通過陣列達到要求,不過程式有些繁瑣)
程式碼
#include <stdio.h>
#include <math.h>
void main()
{
int n,p,i;
for(n=2;n<=10000;n++)
{
int flag=1;
for(p=2;p<n;p++)
{
if(n%p==0)
{
flag=0;
break;
}
}
if(flag==1)
{
printf("%5d\t",n);
i++;
if(i%5==0)
{
printf ("\n");
}
}
}
}