gpt4 book ai didi

c - 用 C 打印素数

转载 作者:行者123 更新时间:2023-11-30 19:54:40 26 4
gpt4 key购买 nike

我正在尝试打印从用户处获得的达到特定值的素数。如果我只收到 1 的答案,我想我的 for 循环有问题?

#include <stdio.h>
#include <cs50.h>

int main (void)
{
printf("Length: ");
int length = GetInt();

bool notPrime = false;

for (int i = 1; i < length; i++)
{
for (int k = 1; k <= i/2; k++)
{
if (i % k == 0)
{
notPrime = true;
break;
}
else
{
notPrime = false;
}
}
if (notPrime == false)
{
printf("%d ", i);
}
}
printf("\n");
}

最佳答案

在内部循环中:

for (int k = 1; k <= i/2; k++) 

您从 k = 1 开始,并测试 k 是否整除 i1 可以除任何整数,因此答案始终是“非素数”,但事实并非如此(请记住素数的定义)。从2开始:

for (int k = 2; k <= i/2; k++) 

关于c - 用 C 打印素数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21148937/

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