gpt4 book ai didi

C++素数没有给出正确答案

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

<分区>

#include <iostream>
#include <cmath>

using namespace std;
bool prime(int n);

int main()
{
double i;

while (true)
{
cout << "Enter a number that isn't 0: ";
cin >> i;
if ( i == 0)
break;
if(prime(i))
cout << i << " is prime" << endl;
else
cout << i << " is not prime." << endl;
}
system ("Pause");
return 0;
}

bool prime (int n)
{
int i;
double sqrt_of_n = sqrt(double (n));
for (i = 2; i <= sqrt_of_n; i++)
{
if (int(n) % 1 == 0)
return false;
}
return true;
}

每次我运行程序时,如果我输入 7,我会发现 7 不是质数。谁能帮我弄清楚我哪里搞砸了?

我试过在 double 和 int 之间改变 i 和 n。

如果我输入 3,它显示素数。

问题是它将一些质数显示为非质数。

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