用C语言打印素数
我试图打印出素数,直到从用户那里获得的某个值。如果我只收到一个1的答案,我想我的for循环有问题吗用C语言打印素数,c,for-loop,numbers,cs50,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++) {
#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");
}
#包括
#包括
内部主(空)
{
printf(“长度:”);
int length=GetInt();
bool-notPrime=false;
for(int i=1;i
for (int k = 1; k <= i/2; k++)
for(k=2; k<=sqrt(i); k++)
您可能需要检查特殊情况,您可以从3开始。
此外,还可以增加2(不包括对号):
for(int i = 1; i < length; i++){
if(number < 2) prime = true;
if(number == 2) prime = false;
if(number % 2 == 0) prime = false;
for (int k = 3; k <= i/2; k++){
if(number % i == 0 ){
prime = false;
break;
}
}
if (prime){
printf("%d ", i);
}
}
for(int i=1;i
for (int k = 1; k <= i/2; k++)
for(k=2; k<=sqrt(i); k++)
for(k=2;k)对于至少前两个值,这应该不会太难进行笔和纸调试。您尝试过了吗?这告诉了您什么?请您澄清您的问题是什么?