gal*_*fan -2 c for-loop numbers cs50
我正在尝试将素数打印到从用户获得的某个值.如果我只收到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");
}
Run Code Online (Sandbox Code Playgroud)
在内部循环中:
for (int k = 1; k <= i/2; k++)
Run Code Online (Sandbox Code Playgroud)
你开始k = 1并测试是否k分开i.1除了任何整数,所以答案永远是"非素数",事实并非如此(记住素数的定义).从2:
for (int k = 2; k <= i/2; k++)
Run Code Online (Sandbox Code Playgroud)