✔ 最佳答案
//Power by Microsoft Visual Studio 2005
//可以使用 Dev-C++ 編譯此程式
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#define blnTrue EOF
#define blnFalse 0
int main(int argc,char *argv[]){
//=====START=====//
int check_prime(int);
void display_factor(int);
int nNumber[99],i,j,k;
for(i=0,j=2,k=0;i<99;i++,j++){
nNumber[i]=j;
if(check_prime(nNumber[i])){
printf(" %2d",nNumber[i]);
k++;
if(k>4){
printf("\n");
k=0;
}
}
}
printf("\n");
//=====END=====//
system("PAUSE");
return 0;
}
int check_prime(int number){//Check number
int i,retBoolean=blnTrue;
//1 is True, 0 is False
for(i=2;i<=(int)sqrt(number);i++){
if((number%i)==0){
retBoolean=blnFalse;//false
break;
}
}
return retBoolean;//return boolean value
}
2006-07-25 01:59:56 補充:
以下網路上可參考的資料…埃拉托色尼篩法 (求質數法)良葛格學習筆記 網站:
http://caterpillar.onlyfun.net/Gossip/AlgorithmGossip/EratosthenesPrime.htm
2006-07-25 02:08:12 補充:
以下網路上可參考的資料…
埃拉托色尼篩法 (求質數法)
埃拉托色尼篩法不適合求 10000以上 大型數字,大數要用到梅森數計算
良葛格學習筆記 網站:
http://caterpillar.onlyfun.net/Gossip/AlgorithmGossip/EratosthenesPrime.htm