科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件用 埃拉托色尼(Eratosthenes) 法打印素数

用 埃拉托色尼(Eratosthenes) 法打印素数

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

打印素数的方法有很多,这里只是介绍一种算法及其用C 语言实现。

作者:panqiaomu 来源:CSDN 2007年12月29日

关键字: 素数 打印 Eratosthenes Linux

  • 评论
  • 分享微博
  • 分享邮件
打印素数的方法有很多,这里只是介绍一种算法及其用C 语言实现。过程是用一个数组存储1到n的数,然后依次把1到sqrt(n)的倍数删去,剩下的数字就是素数了。
代码如下:
#include<stdio.h>
#include
<math.h>
#define M  1000
int main(void)
{
   
int i,j,n[M];
   
for(i=2,j=0;i<M;++i)
      n[j
++]=i;//初始化;

   
for(j=2;j<(int)sqrt(M);++j)
      
for(i=0;i<M;++i)
         
if(n[i]==0)
            
continue;
         
else if(n[i]%j==0&&n[i]!=j)
            n[i]
=0;

   
for(i=0;i<M;++i)//输出
     
if(n[i]!=0)
       printf(
"%d ",n[i]);
   getch();
   
return 0;
  }
查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章