Checking Perfect Power

Checking Perfect Power

Eine positive ganze Zahl n ist eine perfect power, wenn sie als Potenz ausgedrückt werden kann be für zwei ganze Zahlen b und e, die beide größer als eins sind. (Jede positive ganze Zahl n kann immer als Trivialpotenz n1 ausgedrückt werden, so dass wir uns um diese nicht kümmern.) Zum Beispiel sind die ganzen Zahlen 32, 125 und 441 perfekte Potenzen, da sie25,53 bzw.212 entsprechen.

Diese Funktion soll feststellen, ob die positive ganze Zahl n eine vollkommene Potenz ist. Ihre Funktion muss irgendwie durch eine ausreichende Anzahl möglicher Kombinationen von b und e iterieren, die funktionieren könnten True zurück, wenn Sie b und e finden, die die Bedingungen be == nerfüllen, und zurückkehren False zurück, wenn alle relevanten Möglichkeiten für b und e ausprobiert und für unzureichend befunden wurden.

Da n ziemlich groß werden kann, sollte Ihre Funktion nicht zu viele Kombinationen untersuchen, die über diejenigen hinausgehen, die sowohl notwendig als auch ausreichend sind, um die Antwort zuverlässig zu bestimmen. Das Erreichen dieser Effizienz ist der zentrale pädagogische Punkt dieses Problems.

Eingabe: Ganzzahl (int).

Ausgabe: Logischer Wert (bool).

Beispiele:

assert perfect_power(8) == True
assert perfect_power(42) == False
assert perfect_power(441) == True
assert perfect_power(469097433) == True
You should be an authorized user in order to see the full description and start solving this mission.