在求解一些问题时,并不是要求判断某一个数是否为素数,而是求解某一区间里面所有的素数,用传统的方法也可以做(先判断后输入),现在有了这个代码,可以有效地判断数字!当然了当区间很大时,这个代码就不适合了!
#include<stdio.h>
#include <string.h>
int num[1000]={1,1};
int primes[500];
int main()
{
int len=0;
memset(num,0,sizeof(num));
memset(primes,0,sizeof(primes));
for (int i=2;i<=1000;i++)
{
for (int j=i*i;j<=1000;j+=i)
{
num[j]=1;
}
}
for (i=2;i<=1000;i++)
{
if (!num[i])
{
primes[len++]=i;
}
}
for (i=0;i<500;i++)
{
printf("%d ",primes[i]);
}
}