C# :: Aufgabe #385 :: Lösung #3
4 Lösungen

#385
Zahl ist Summe von Potenzwerten zur Basis 3
Anfänger - C#
von JKooP
- 18.04.2021 um 12:49 Uhr
Gegeben ist eine Integer-Zahl im Bereich von 1 bis 1.000.000.
Es soll geprüft werden, ob sich diese Zahl als Summe von Potenzwerten
zur Basis 3 darstellen lässt. Die Reihenfolge der Exponenten ist unerheblich.
Beispiele:
n = 12
Lösung: wahr => 12 = 3^1 + 3^2
n = 91
Lösung: Wahr => 3^0 + 3^2 + 3^4
n = 105
Lösung: Falsch
Erstelle eine Methode/Funktion, die für obige Aufgabenstellung als Ergebnis true/false zurückgibt.
Viel Spaß
Es soll geprüft werden, ob sich diese Zahl als Summe von Potenzwerten
zur Basis 3 darstellen lässt. Die Reihenfolge der Exponenten ist unerheblich.
Beispiele:
n = 12
Lösung: wahr => 12 = 3^1 + 3^2
n = 91
Lösung: Wahr => 3^0 + 3^2 + 3^4
n = 105
Lösung: Falsch
Erstelle eine Methode/Funktion, die für obige Aufgabenstellung als Ergebnis true/false zurückgibt.
Viel Spaß
#3

von hollst (13980 Punkte)
- 19.04.2021 um 15:07 Uhr

using System; using static System.Console; using System.Collections.Generic; static bool Aufgabe_385(int input) { int temp = 1; List<int> pot3 = new() { temp }; while ((temp *= 3) <= input) pot3.Add(temp); for (var i = pot3.Count - 1; i >= 0; i--) if (pot3[i] <= input) input -= pot3[i]; return input == 0; } for (var i = 1; i < 100; i++) WriteLine($"{i,3}: {Aufgabe_385(i)}"); ReadKey();
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1