Python :: Aufgabe #345 :: Lösung #1
 
                       
        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ß
#1
 
                 
        von eisheiliger (3750 Punkte)
         - 19.04.2021 um 17:36 Uhr
       Python-Code
 Python-Code
"""
#345: Zahl ist Summe von Potenzwerten zur Basis 3
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.
"""
def prf_pot3(n):
    pot = int(round(n ** (1 / 3.), 0))
    print("n =", n, "ist")
    for i in range(pot + 1):
        if (n - 3 ** pot) >= 0:
            n -= 3 ** pot
        pot -= 1
    if n == 0:
        print("wahr")
    else:
        print("falsch")
def main():
    prf_pot3(12)
    prf_pot3(91)
    prf_pot3(105)
    prf_pot3(4782969)
    prf_pot3(4782968)
if __name__ == '__main__':
    main()
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
          
          
                 Seite 1 von 0
          
                 1
          
          
             
       
    
    
    

 
    
    
    