#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
int is_prime (int n); //檢查是否為質數的函式雛型
int main(int argc, char* argv[]){
int t=1,trgnum;
printf("===找質數程式===\n");
printf("請輸入最後終止的數==>");
scanf("%d", &trgnum);
printf("\n\n");
printf("1-%d的所有質數如下:\n",trgnum);
for(int i=2;i<=10000;i++){ //測試1到1000分別是否為質數(1不是質數,所以從開始)
if (is_prime(i)){ //是質數的話就印出來
printf("%4d, ",i);
if((t++%12) == 0) //t判斷是否需要換行(一行12個數字)
printf("\n");
}
}
printf("\n\n");
system("PAUSE");
return 0;
}
int is_prime (int n){
int is_prime_bool=1;
for(int j=2;(j*j)<n;j++){ //找出所有的因數(不含自己)
if (n % j == 0 && j != 1){ //除了1之外,是否有其他數字可以整除它(因數)
is_prime_bool=0; //它就不是質數
break; //以下的數字就不用判斷(加快程式執行的速度)
}
}
return is_prime_bool;
}
留言列表