Python :: Aufgabe #345 :: Lösung #2
2 Lösungen

#345
Zahl ist Summe von Potenzwerten zur Basis 3
Anfänger - Python
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ß
#2

von AlexGroeg (2010 Punkte)
- 06.05.2021 um 15:27 Uhr

import math def ist_basis_3(n): a = math.log(n, 3); rest = (a *100 %100) /100 p = a - rest print('3^{}'.format(int(p)), end=' ') n = n - 3**(int(p)) if n > 0: print('+', end = ' ') ist_basis_3(n) return True beispiele = [12, 91, 105, 1000000] for n in beispiele: print('\nn=',n) print('\tLösung:',ist_basis_3(n))
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1