laifangsong's blog

取长补短,精益求精。 (打个广告,想做手机网站和asp/asp.net网站的可以跟我联系.QQ:25313644)
posts - 51, comments - 193, trackbacks - 0, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

筛选法取得 1-N的所有素数

Posted on 2006-11-28 09:13 laifangsong 阅读(229) 评论(0)  编辑 收藏 所属分类: 算法

c语言:
/*
筛选法取得 1-N的所有素数
*/

#include 
"math.h"

#define MAX 100

main()
{
    
int a[MAX];
    
int i,j;

    a[
0]=0;
    
for(i=1;i<MAX;i++)
    {
        a[i]
=i+1;
    }
    
    
for(i=2;i<=sqrt(MAX);i++)
    {
        
if(isPrime(i))
        {
           
for(j=2;j<=MAX/i;j++)
           {
               a[i
*j-1]=0;
           }
        }
    }

    
for(i=0;i<MAX;i++)
    {
       
if(a[i]!=0)
       {
          printf(
"%d ",a[i]);
       }
    }

    getch();
}

int isPrime(int num)
{
    
int n;
    
int i;
    
if(num<=1)
    {
       
return 0;
    }
    n
=sqrt(num);
    
for(i=2;i<=n;i++)
    {
        
if(num%i==0)break;
    }
    
if(i>n)
    {
        
return 1;
    }
    
else
    {
       
return 0;
    }
}

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-11-28 09:15 编辑过


相关链接: