Moin,
Ich hänge gerade an folgender Aufgabe:
A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99.
Find the largest palindrome made from the product of two 3-digit numbers.
Also isPalindrome und splitNumberInDigitArray, passen diese bestehen die Tests.
Wenn ich problem4() mit 99 Teste, bekomme ich auch das Ergebniss aus der Beschreibung.
Mit 999 bekomme ich 888888 was das Produkt aus 924 und 962 ist.
Die Lösung wird aber nicht akzeptiert.
Ich nehme an es liegt irgendwie an der Reihenfolge wie ich prüfe:
Mir leuchtet aber eigentlich nicht ein was daran falsch sein sollte.
Ich hänge gerade an folgender Aufgabe:
A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99.
Find the largest palindrome made from the product of two 3-digit numbers.
Java:
public static boolean isPalindrome(int number) {
int[] digitArray = splitNumberInDigitArray(number);
for (int i = 0, j = digitArray.length - 1; i < digitArray.length / 2; i++, j--) {
if (digitArray[i] != digitArray[j]) return false;
}
return true;
}
public static int[] splitNumberInDigitArray(int number) {
return Integer.toString(number)
.chars()
.map(c-> Character.digit(c, 10))
.toArray();
}
private static int problem4() {
for (int i = 999; i > 99; i--) {
for (int j = 999; j >= i; j--) {
int product = i * j;
if (Mathematics.isPalindrome(product)) return product;
}
}
throw new RuntimeException();
}
Also isPalindrome und splitNumberInDigitArray, passen diese bestehen die Tests.
Wenn ich problem4() mit 99 Teste, bekomme ich auch das Ergebniss aus der Beschreibung.
Mit 999 bekomme ich 888888 was das Produkt aus 924 und 962 ist.
Die Lösung wird aber nicht akzeptiert.
Ich nehme an es liegt irgendwie an der Reihenfolge wie ich prüfe:
Code:
999 * 999
998 * 999
998 * 998
997 * 999
997 * 998
997 * 997
996 * 999
996 * 998
996 * 997
996 * 996
995 * 999
995 * 998
995 * 997
995 * 996
995 * 995
...
Mir leuchtet aber eigentlich nicht ein was daran falsch sein sollte.