gpt4 book ai didi

c - Eratosthenes 输出误差筛

转载 作者:太空宇宙 更新时间:2023-11-04 04:41:13 24 4
gpt4 key购买 nike

几天前我开始学习 C。我在使用 Erathosthemes 筛法查找素数时遇到了这个问题。代码编译但没有给出正确的输出。

#include<stdio.h>
#include<math.h>
#define size 100

int main()
{
int n;
printf("Enter the value of n\n");
scanf_s("%d",&n);
int A[size],i;
for(i=0;i<n+1;i++)
{
A[i]=i;
}
A[1]=0;
for(i=0;i<sqrt((float)n);i++)
{
for(int j=0;j<n+1;j++)
{
if(A[j]%i==0)A[j]=0;
else A[j]=j;
}
}`
for(i=0;i<n+1;i++)
{
if(A[i]!=0)printf("%d\n",A[i]);
}
}

最佳答案

A[j]%i 在你的程序中不正确。

我在下面的代码中实现了 Erathosthemes 筛法-

#include<stdio.h>

int main()
{
int a[20];
int i,n,j;
n=20;

for(i=0;i<n;i++)
a[i]=i+1;



for(i=2;i<n/2;i++)
{
for(j=2;j<=(n/i);j++)
{
a[(i*j)-1]=0;
}


}

for(i=0;i<n;i++)
{
if(a[i]!=0)
printf(" %d",a[i]);

}

return 0;
}

关于c - Eratosthenes 输出误差筛,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26311439/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com