我在Java的歐拉做了這個,它只是一直打印0。我不知道我做錯了什麼,請幫忙嗎?我不知道爲什麼這不起作用
class Euler
{
public static void main (String[]args)
{
int a = 0;
int b = 0;
int c = 0;
int d = 0;
int e = 0;
int f = 0;
int palindrome = 0;
boolean run = true;
while (run == true) {
for (int f4 = 999; f4 >= 100; f4--) {
for (int f5 = f4; f5 >= 100; f5--) {
palindrome = f4 * f5;
f = (palindrome % 10);
e = (palindrome % 100 - f);
d = (palindrome % 1000 - e);
c = (palindrome % 10000 - d);
b = (palindrome % 100000 - c);
a = (palindrome % 1000000 - b);
if (a == 0) {
if ((b == f) && (c == e)) {
run = false;
}
} else {
if ((a == f) && (b == e) && (c == d)) {
run = false;
}
}
}
}
int[] nums = new int[1];
nums[0] = palindrome;
{
System.out.println(Arrays.toString(nums));
}
}
}
}
它應該算出由兩個三位數的乘積組成的最大回文。
使用調試器或放入printf語句看看它在做什麼。 – rghome