gpt4 book ai didi

java - 素数之和 - 为什么我的代码返回 0?

转载 作者:行者123 更新时间:2023-12-02 04:18:16 29 4
gpt4 key购买 nike

我正在尝试回答欧拉项目 #10,该项目是求 1-2000000 之间的素数之和。每次我运行代码时,它都会给我 0,我不明白为什么。

public static boolean isPrime (int n) 
{
double a = Math.sqrt(n);
for(int i = 1; i < a; i++){
if(n % i == 0){
return false;
}
}
return true;
}

public static void main (String[] args)
{
long sum = 0;
for(int i = 2; i < 2000000; i++){
if(isPrime(i)==true){
sum+= i;
}
}
System.out.println(sum);
}

最佳答案

改变

for (int i = 1; i < a; i++) {

for (int i = 2; i < a; i++) {

任何数字都可以被 1 整除,甚至素数。

根据您当前的代码,没有数字是质数。

关于java - 素数之和 - 为什么我的代码返回 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26480064/

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