【发布时间】:2021-05-31 12:13:21
【问题描述】:
我正在尝试制作一个 java 代码,该代码显示由两个 3 位数字的乘积构成的最大回文数。它输出所有回文,而不是按数字顺序。我不知道为什么。请帮忙! 这是我的代码:
`class Scratch { 公共静态无效主要(字符串[]参数){ int dig1, dig2, dig3, dig4, dig5, dig6, 产品;
for (int i =999; i>100; i--){
for (int j =999; j>=i;j--){
product = j*i;
dig1= product/100000;
dig2= (product/10000)%10;
dig3= (product/1000)%10;
dig4= (product/100)%10;
dig5= (product/10)%10;
dig6= (product%10);
if ((dig1==dig6) && (dig2==dig5) && (dig3==dig4)){
System.out.println((product));
break;
}
}
}
}}
【问题讨论】:
-
请阅读How to Ask。解释你遇到了什么问题。您是否使用调试器单步执行了您的程序?
-
使用该算法,您必须保存找到的最大产品(循环时;如果搜索最大,我将从
999开始并递减;i*j与j*i相同,所以不是必须测试所有数字组合(例如100*101与101*100相同)仅测试例如j >= i -
和
% 100将返回 2 位数字
标签: java