我试图解决项目欧拉问题4,它是:
回文数字两种方式相同.由两个2位数字的乘积制成的最大回文是9009 = 91×99.找到由两个3位数字的乘积制成的最大回文.
这是我的解决方案,它的输出是997799,但这不是正确的答案,我想知道问题出在哪里:
package projecteuler;
public class Pro4 {
public static void main(String[] args) {
for(int i=999*999;i>=100*100;i--){
if(isPalindrome(i)==true){
System.out.println(i);
break;
}
}
}
static boolean isPalindrome(int x){
int[] bits = new int[7];
int index=1;
while(x>0){
bits[index]=x%10;
index++;
x/=10;
}
for(int i=1;i<=index/2;i++){
if(bits[i]!=bits[index-i]){
return false;
}
}
return true;
}
}
Run Code Online (Sandbox Code Playgroud)