gpt4 book ai didi

java - 我的 isPrime 方法有什么问题?

转载 作者:搜寻专家 更新时间:2023-10-30 21:13:40 24 4
gpt4 key购买 nike

这是我的 isPrime 方法:

private static boolean isPrime(int num) {
if (num % 2 == 0) return false;
for (int i = 3; i * i < num; i += 2)
if (num % i == 0) return false;
return true;
}

我输入 isPrime(9),它返回 true。方法有什么问题?

最佳答案

你的条件应该是 i * i <= num

private static boolean isPrime(int num) 
{
if (num == 2)
return true;
if (num < 2 || num % 2 == 0)
return false;
for (int i = 3; i * i <= num; i += 2)
if (num % i == 0)
return false;
return true;
}

您没有考虑数字 9,因此 9<9 的结果为假。但是你需要勾选 9。

关于java - 我的 isPrime 方法有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20798391/

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