-7 厄拉多塞筛的求质数法.docVIP

  • 2
  • 0
  • 约1.09千字
  • 约 2页
  • 2019-07-06 发布于江苏
  • 举报
1-7 厄拉多塞篩的求質數法 例題7 質數的判定 判斷n是否為質數 質數是指除了1及其本身以外沒有其他因數的數,像 2,3,5,7,11… 等都是質數,但1並不是質數。 在判斷n是否為質數時,將n除以n以下的整數直至2為止,以觀察n能 除盡,這時如有被除盡的數,便被視為非質數而脫離出回圈。到了最後如無除盡的數,則此數即為質數。 此外,即使以n/2以上的整數除以n,n也沒有被除盡的道理,因此程式 開始時的值並不是從n開始,從n/2開始也沒關係,這點從直覺上即可判斷出來。 在數學計算上也可從開始。 程式: Rei07.cpp 練習問題7-1 2~N的所有質數 求出2~N的整數中所有的質數 利用例題7的思維方式,將質數存放至prime[ ]。 程式: Dr7_1.cpp 練習問題7-2 厄拉多塞篩 在練習問題7-1的演算法中,反覆計算次數為(平均值) ,而”厄拉多塞篩”則是更有效率的求質數之方法。接下來要使 用這個方法從2~N中求出所有的質數 厄拉多塞篩演算法解說如下: eq \o\ac(○,1)將2~n的所有數存放至”篩子” eq \o\ac(○,2)將”篩子”中最小的數設為質數,如圖中▼的位置。 eq \o\ac(○,3)從”篩子”中取出質數的所有倍數,如圖中 / 的位置。 eq \o\ac(

文档评论(0)

1亿VIP精品文档

相关文档