Zahlenrätsel (fünfstellige Zahl) (Schleifen)
Gesucht wird die fünfstellige Zahl ABCDE, die mit 4 multipliziert sich selbst rückwärts ergibt:
4 x ABCDE = EDCBA
Schreiben einen Algorithmus, der die einzig mögliche Lösung ausgibt.
0 Kommentare
6 Lösung(en)
Number.prototype.reverse = function() {
return parseInt(this.toString().split('').reverse().join(''));
}
Number.prototype.hasDuplicates = function() {
let arr = this.toString().padStart(5, '0').split('');
return new Set(arr).size != arr.length;
}
for (let i = 01234; i * 4 <= 98765; i++) {
if (!i.hasDuplicates()) {
let i4 = i * 4;
if (i4.toString().length == 5 && i4 == i.reverse())
console.log(
`4 × ${i.toString().padStart(5, '0')} = ${i4}`
);
}
}
Lösung von: Lisa Salander (Heidi-Klum-Gymnasium Bottrop)
import itertools
for x in itertools.product(range(10), repeat=5):
num = sum((n * 10**(len(x)-i) for i, n in enumerate(x, start=1)))
rev = sum((n * 10**i for i, n in enumerate(x, start=0)))
if 4*num == rev and (len(str(num)), len(str(rev))) == (5, 5):
print(f"4 x {num} = {rev}")
Lösung von: Name nicht veröffentlicht
print([i for i in range(10000,100000) if str(4*i)==str(i)[::-1]][0])
Lösung von: rob ert (tub)
// C++ 17
#include <iostream>
int reverse_number(int n) {
if (n % 10 == n) return n;
auto z{ 0 };
while (n) {
const auto r{ n % 10 };
n /= 10;
z = z * 10 + r;
}
return z;
}
int main() {
for (auto i{ 12'345 }; i < 98'765; ++i) {
const auto r{ reverse_number(i) };
if (4 * i == r) {
std::cout << "4 x " << i << " = " << r << "\n";
break;
}
}
}
Lösung von: Jens Kelm (@JKooP)
// NET 6.x | C# 10.x | VS-2022
for (var i = 12_345; i < 98_765; i++) {
_ = int.TryParse(string.Join("", i.ToString().Reverse()), out var r);
if (4 * i == r) Console.WriteLine($"4 x {i} = {r}");
}
Lösung von: Jens Kelm (@JKooP)
' VBA
Sub Main()
Dim i As Long, r As Long
For i = 12345 To 98765
r = CLng(StrReverse(CStr(i)))
If 4 * i = r Then
Debug.Print "4 x " & i & " = " & r
Exit For
End If
Next
End Sub
Lösung von: Jens Kelm (@JKooP)
Verifikation/Checksumme:
4 x 21978 = 87912
Aktionen
Neue Lösung hinzufügen
Bewertung
Durchschnittliche Bewertung:
Meta
Zeit: | |
Schwierigkeit: | Leicht |
Webcode: | w0bf-4ppj |
Autor: | () |