我的Euler&x27项目java代码有什么问题;什么是程序4?(查找2个3位数的最大回文)
这是我的代码,答案似乎总是100001(不是偶数) 执行循环)。 我知道有很多更简单的方法来解决这个问题,但是这个特定的代码到底出了什么问题?我该如何修复它我的Euler&x27项目java代码有什么问题;什么是程序4?(查找2个3位数的最大回文),java,algorithm,palindrome,Java,Algorithm,Palindrome,这是我的代码,答案似乎总是100001(不是偶数) 执行循环)。 我知道有很多更简单的方法来解决这个问题,但是这个特定的代码到底出了什么问题?我该如何修复它 公共类最大回文 { 公共静态void main(字符串[]args) { int最大=100001; 对于(int i=100;i
公共类最大回文
{
公共静态void main(字符串[]args)
{
int最大=100001;
对于(int i=100;i<1000;i++)
{
对于(int j=100;j<1000;j++)
{
int mult=i*j;
if(最大
原始的公共静态布尔值isAlindrome(int mult)
方法中有太多错误。因此,我将其替换为标准版本:
public static boolean isPalindrome(int mult)
{
int temp=mult;
int r,sum=0;
while(mult>0){
r=mult%10; //getting remainder
sum=(sum*10)+r;
mult=mult/10;
}
if(temp==sum)
return true;
else{
return false;
}
}
解释预期输出和相应的输入(如果有)!结果应该是906609,这是两个三位数相乘形成的最大回文,但我的结果总是100001。my end没有输入。末尾的
if/else
构造可以替换为return temp==sum代码>@blastfurne那么这意味着这个答案应该被否决吗?@VidorVistrom谢谢你的回答……它成功了well@BlacburnResnov那就接受吧
public static boolean isPalindrome(int mult)
{
int temp=mult;
int r,sum=0;
while(mult>0){
r=mult%10; //getting remainder
sum=(sum*10)+r;
mult=mult/10;
}
if(temp==sum)
return true;
else{
return false;
}
}