找出由两个3位数字的乘积组成的最大回文。 我的代码看起来还不错。 但是我没有得到想要的输出。
//My code
public class NewClass{
public static void main(String[] args) {
lar();
}
public static void lar(){
long a = 999L;
long b = 999L;
int ct = 0;
while(a > 99){
while(b > 99){
long c = a * b;
if(isPalindrome(c)){
System.out.println(a + " " + b);
System.out.println(c);
ct++;
break;
}
b = b - 1;
}
a = a - 1;
if(ct > 0){
break;
}
}
}
public static boolean isPalindrome(long number){
long n = 0L;
long plnum = 0L;
long num = number;
while(number != 0){
n = number % 10;
plnum = plnum * 10;
plnum = plnum + n;
number = number / 10;
}
if(num == plnum){
return true;
} else {
return false;
}
}
}
答案 0 :(得分:0)
在外循环中,重置b的值。
while(a > 99){
while(b > 99){
if(isPalindrome()){
.....
}
b = b - 1;
}
a = a - 1;
b=999L;// <---------------- this
}