c代码,100万质数输出只要1秒内。

@Ta 2013-04-22 8444点击
#include<stdio.h>
#define MAX 100
#define N 10
int prime[MAX+1]={0};
main()
{
int i,j,cnt=0;
for(i=2;i<=MAX;i++)
prime=1;
for(i=2;i<=MAX;i++)
if(prime)
for(j=i+i;j<=MAX;j+=i)
prime[j]=0;
for(i=1;i<=MAX;i++)
if(prime)
{
cnt++;
printf("%d%c",i,cnt==N?'\n':32);
}
return 0;
}这是小学六年级质数与合数教的算法。。。简单来说就是1去掉,2留下,2的倍数去掉,3留下,3的倍数去掉,5留下,5的倍数去掉。。。。求懂的分析下代码,共同学习。
回复列表(14|隐藏机器人聊天)
添加新回复
回复需要登录