函式實現判斷素數並呼叫函式輸出100以內所有素數
阿新 • • 發佈:2018-12-30
/** * 檔名稱: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; } }
執行結果: