用筛法求出100以内全部素数.docVIP

  • 117
  • 0
  • 约8.33千字
  • 约 8页
  • 2017-07-27 发布于河南
  • 举报
用筛法求出100以内全部素数

例6、用筛法求出100以内的全部素数,并按每行五个数显示。 【问题分析】 ⑴ 把2到100的自然数放入a[2]到a[100]中(所放入的数与下标号相同); ⑵ 在数组元素中,以下标为序,按顺序找到未曾找过的最小素数minp,和它的位置p(即下标号); ⑶ 从p+1开始,把凡是能被minp整除的各元素值从a数组中划去(筛掉),也就是给该元素值置 0; ⑷ 让p=p+1,重复执行第②、③步骤,直到minpTrunc(sqrt(N)) 为止; ⑸ 打印输出a数组中留下来、未被筛掉的各元素值,并按每行五个数显示。 用筛法求素数的过程示意如下(图中用下划线作删去标志): ① 2 3 4 5 6 7 8 9 10 11 12 13 14 15…98 99 100 {置数} ② 2 3 4 5 6 7 8 9 10 11 12 13 14 15…98 99 100 {筛去被2整除的数 } ③ 2 3 4 5 6 7 8 9 10 11 12 13 14 15…98 99 100 {筛去被3整除的数 } …… 2 3 4 5 6 7 8 9 10 11 12 13 14 15…98 99 100 {筛去被整除的数 } Program Exam53; const N=100; type xx=1 .. N; {自定义子界类型xx(类型名)} Var a: array

文档评论(0)

1亿VIP精品文档

相关文档