gpt4 book ai didi

java - java中最大的回文积

转载 作者:行者123 更新时间:2023-12-01 11:46:41 25 4
gpt4 key购买 nike

我已经为欧拉项目的第四个问题编写了代码。

问题是:回文数的两种读法都是一样的。两个 2 位数字的乘积组成的最大回文数是 9009 = 91 × 99。

找出两个 3 位数字的乘积所构成的最大回文数。

这是我的代码:

public class LargestPalindromeProduct {
private static int product;//integer palindrome number
private static String palindrome;//string palindrome

private static int largestPalindrome(){
for(int i = 100; i<=999; i++){
for(int k = 100; k<=999; k++){
product = i*k;

palindrome = Integer.toString(product);

for(int j = 0; j<= palindrome.length()-1; j++){
if(palindrome.charAt(j) == palindrome.length() - 1 - j){
return product;
}
}
}
}
return product;
}
public static void main(String[] args) {
int largestPalindrome = largestPalindrome();
System.out.println(largestPalindrome);
}

}

此代码的输出为 998001。你能帮我找出问题出在哪里吗?

最佳答案

您将在获得 1 个匹配项时返回,而不是继续检查直到所有匹配项。

 if(palindrome.charAt(j) == palindrome.length() - 1 - j){
return product;
}

正如 @soong 所指出的,实际的比较是 charAt()length

更好地检查您的比较情况。

关于java - java中最大的回文积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29086257/

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