1. 程式人生 > >描述1-N之間所有的素數

描述1-N之間所有的素數

題目:
輸出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"); } } } }

最上面的截圖
最下面的截圖