我的演算法思想和實現方式都在**和注釋當中呢,這樣的方式確實使演算法複雜度降低乙個等級,很好啊。
#include #include /**
* 利用陣列求前n個質數
* 確定乙個數m是否為質數,可以用已求出的質數對m
* 的整除性來確定
*///如果不知道質數的特性和想不到優化思路的方法
void getnprimes_normal();
//優化之後的方法
void getnprimes_optimize();
int main(void)
//通常用到的想法
void getnprimes_normal()else
}//找到質數之後,跳出上面的迴圈
//這個的執行是先執行primes[pc] = m;
//再去執行pc++;
primes[pc++] = m;
m+=1;
}/**
* 對質數進行輸出操作**/
for(pc = 0;pc < count;pc++)
}//優化之後的方法
void getnprimes_optimize()else
}//找到質數之後,跳出上面的迴圈
//這個的執行是先執行primes[pc] = m;
//再去執行pc++;
primes[pc++] = m;
m+=2;
}/**
* 對質數進行輸出操作**/
for(pc = 0;pc < count;pc++)
}
下面是我的執行結果,第乙個是沒有優化的結果,第二個是經過演算法優化後的結果,效果還是很明顯的。
這個是沒有優化的結果:
這個是優化之後的結果:
利用陣列求前n個質數
我的演算法思想和實現方式都在 和注釋當中呢,這樣的方式確實使演算法複雜度降低乙個等級,很好啊。include include 利用陣列求前n個質數 確定乙個數m是否為質數,可以用已求出的質數對m 的整除性來確定 如果不知道質數的特性和想不到優化思路的方法 void getnprimes normal...
(java)求前n個質數
求1 n的質數 public class prime return true public static void printprime int n public static void main string args public class prime return true public s...
藍橋杯 前n個質數的乘積
題目 torry從小喜愛數學。一天,老師告訴他,像2 3 5 7 這樣的數叫做質數。torry突然想到乙個問題,前10 100 1000 10000 個質數的乘積是多少呢?他把這個問題告訴老師。老師愣住了,一時回答不出來。於是torry求助於會程式設計的你,請你算出前n個質數的乘積。不過,考慮到你才...