当前位置:编程学习 > C/C++ >>

问题六十: 用筛法求10000内的素数。

print?/* 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了)      
* 程序的版权和版本声明部分      
* All rights reserved.      
* 文件名称: txt.c      
* 作    者: liuyongshui      
* 问    题:  筛法求10000内的素数。 
* 问题来源:    
* 完成日期: 2013 年4 月18日      
* 版 本 号: V1.0      
*/     
#include <stdio.h> 
 
#define NUM 10000 
 
int main() 

    int i; 
    int j; 
    int a[NUM]={0}; 
 
    for(i=2; i<NUM; i++) //因为0 1不是素数,所以跳过 
    { 
         a[i]=1;    
    } 
 
    for(i=0; i<NUM; i++) 
    { 
        if(a[i]==1) 
        { 
           printf("%4d为素数.\n", i); 
 
           for(j=i; j<NUM; j+=i) 
           { 
               if(j%i==0) 
               { 
                   a[j]=0; 
               } 
           } 
        } 
    } 
 
    return 0; 

/* 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了)    
* 程序的版权和版本声明部分    
* All rights reserved.    
* 文件名称: txt.c    
* 作    者: liuyongshui    
* 问    题:  筛法求10000内的素数。
* 问题来源:  
* 完成日期: 2013 年4 月18日    
* 版 本 号: V1.0    
*/   
#include <stdio.h>

#define NUM 10000

int main()
{
    int i;
 int j;
 int a[NUM]={0};

 for(i=2; i<NUM; i++) //因为0 1不是素数,所以跳过
 {
      a[i]=1;  
 }

 for(i=0; i<NUM; i++)
 {
     if(a[i]==1)
  {
     printf("%4d为素数.\n", i);

     for(j=i; j<NUM; j+=i)
     {
         if(j%i==0)
      {
          a[j]=0;
      }
     }
  }
 }

 return 0;
}  局部

 


 

\
补充:软件开发 , C语言 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,