c代码,100万质数输出只要1秒内。
#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的倍数去掉。。。。求懂的分析下代码,共同学习。