利用陣列求前n個質數

2021-07-01 21:28:56 字數 1033 閱讀 1675

我的演算法思想和實現方式都在**和注釋當中呢,這樣的方式確實使演算法複雜度降低乙個等級,很好啊。

#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個質數的乘積。不過,考慮到你才...