Java 欧拉4号项目
目标是找到两个三位数的乘积的最大数,即回文数。我已经用java编写了以下代码,但是当我运行它时,我没有得到任何输出。有什么不对劲吗Java 欧拉4号项目,java,Java,目标是找到两个三位数的乘积的最大数,即回文数。我已经用java编写了以下代码,但是当我运行它时,我没有得到任何输出。有什么不对劲吗 public class Problem4{ public static void main(String[] args){ int reversedProduct=0; int temp=0; int product; for (int a=100; a<1000; ++a){
public class Problem4{
public static void main(String[] args){
int reversedProduct=0;
int temp=0;
int product;
for (int a=100; a<1000; ++a){
for (int b=100; b<1000; ++b){
product=a*b;
while (product>0){
temp = product%10;
reversedProduct=reversedProduct*10+temp;
product=product/10;
} if (reversedProduct==product){
System.out.println(product);
}
}
}
}
}
公共类问题4{
公共静态void main(字符串[]args){
int reversedProduct=0;
内部温度=0;
int产品;
对于(int a=100;a您在对其进行反转的过程中,正在对产品进行调零。您应该制作一份副本,并将反转后的产品与之进行比较
int orig = product;
while (product>0){
temp = product%10;
reversedProduct=reversedProduct*10+temp;
product=product/10;
}
if (reversedProduct==orig){
System.out.println(reversedProduct);
}
请注意,此时您的解决方案将打印所有回文,而不仅仅是最迟的回文。不过,获取最大的回文应该很简单。尝试打印reversedProduct
和product
,之后应该非常清楚。@BobSmith您是对的,它应该打印orig
或reversedProduct代码>。现在已修复此问题。