1. 程式人生 > >函式實現判斷素數並呼叫函式輸出100以內所有素數

函式實現判斷素數並呼叫函式輸出100以內所有素數

/**
 * 檔名稱:2012-4.cpp
 * 作    者:  胡穎
 * 完成日期:2017 年 3月 13 日
 * 輸入描述:輸入整數m
 * 問題描述:判斷整數m是否為素數,呼叫函式輸出100以內的所有素數
 * 程式輸出:輸出m是否為素數及100以內的素數
 * 問題分析:建構函式判別素數
 * 演算法設計:略
 */
#include <stdio.h>
#include <math.h>
int main()
{
    int m,t,i,n=0;
    printf("請輸入一個整數:\n");
    scanf("%d",&m);
    int isPrime(int m);
    t=isPrime(m);
    if(t==1)
      printf("%d是素數\n",m);
    else
      printf("%d不是素數\n",m);
      printf("100以內的素數有:\n");
    for(i=0;i<=100;i++)
    {
      t=isPrime(i);
      if(t==1){
        n=n+1;
        printf("%3d",i);
        if(n%10==0)
        printf("\n");
      }
    }
    return 0;
}
int isPrime(int m)
{
    int i,n;
    if(m==2)
      return 0;
    else if(m<2||m%2==0)//考慮1和0的情況
      return 0;
    else
      {
       n=(int)sqrt(m+1);
       for(i=2;i<=n;i++)
          {
          if(m%i==0)
          return 0;
          }
       return 1;
     }
}

執行結果: