用筛法求N之内的素数。 需要定义数组。C语言编程~

2025-03-13 03:18:38
推荐回答(2个)
回答1:

#include
#include
void main()
{
int N,m,i,k;
scanf("%d",&N);
for(m=2;m<=N;m++)
{
k=1;
for(i=2;i {
if(m%i==0)
k=0;
}
if(k!=0)
printf("%d\n",m);
}
}

这是输入N,然后输出素数的
不知道你说的定义数组指的是什么

回答2:

#include
main()
{
int a[10000];
long n,i,j;
memset(a,0xff,sizeof(a));
scanf("%ld",&n);
for(i=2;i<=sqrt(n);i++)
if(a[i])
for(j=i+i;j<=n;j+=i)a[j]=0;
for(i=2;i<=n;i++)
if(a[i])
printf("%d ",i);
}