gpt4 book ai didi

c - 如果我的输入是 3 得到它说它不是素数

转载 作者:行者123 更新时间:2023-11-30 18:36:56 24 4
gpt4 key购买 nike

this find out whether the given number is prime or not

这段代码有什么问题,它说数字 3 不是质数数字 3 是质数那么这有什么问题如果我将数字 2 作为输入,那么它也是错误的

    #include<stdio.h>
#include<math.h>
void main()
{
int num,i,j,inum,flag=0;
printf("\n Enter the number :");
scanf("%d",&num);
inum=sqrt(num);
for(i=2;i<inum;i++)
{
if(num%i==0)
{
flag=0;
break;
}
else
{
flag=1;
}

}
if(flag)
{
printf("\n TThe number %d is prime",num);

}
else
{
printf("\n The number %d is not prime",num);
}

}

最佳答案

你的for循环应该改为

for(i=2;i<=inum;i++)

更清晰、更好的代码。

bool found = true;
for (i=2; i<=inum && found; ++i ) {
if ( num%i == 0 ) found = false;
}

if ( found ) printf("Prime Number");
else printf("Not Prime");

关于c - 如果我的输入是 3 得到它说它不是素数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39429596/

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