【发布时间】:2015-02-14 09:46:54
【问题描述】:
尽管数组a 的大小不断增加,但我无法找到 8 位素数。它适用于较小的数字:
#include<stdio.h>
#include<math.h>
int main()
{
int n,a[100000],i,m,k;
scanf("%d",&n);
for (i=2;i<=n;i++)
a[i]=1;
m=(sqrt(n)+1);
for (i=2;i<=m;i++)
if (a[i]==1)
for (k=i*i;k<=n;k+=i)
a[k]=0;
for (i=0;i<=n;i++)
if (a[i]==1)
printf("%d\t",i);
return 0;
}
【问题讨论】:
-
如果您增加
a的大小,使其大到足以拥有 8 位索引,那么您很可能会发生堆栈溢出。