3077 - Suma Prefixe: Difference between revisions

From Bitnami MediaWiki
Pop Giulia (talk | contribs)
No edit summary
Pop Giulia (talk | contribs)
No edit summary
Line 1: Line 1:
def calculeaza_suma_prefixe(numar, prefix=0):
def calculeaza_suma_prefixe(numar, prefix=0):
    # Dacă numărul este 0, returnăm suma prefixelor
 
     if numar == 0:
     if numar == 0:
         return prefix
         return prefix
      
      
     suma = 0
     suma = 0
    # Parcurgem toate cifrele numărului și adunăm prefixele
 
     for cifra in range(1, numar % 10 + 1):
     for cifra in range(1, numar % 10 + 1):
         suma += calculeaza_suma_prefixe(numar // 10, prefix + cifra)
         suma += calculeaza_suma_prefixe(numar // 10, prefix + cifra)
Line 11: Line 11:
     return suma
     return suma


# Citim numărul de la tastatură
 
n = int(input("Introduceți un număr natural nenul: "))
n = int(input("Introduceți un număr natural nenul: "))


# Calculăm suma prefixelor și o afișăm
 
suma_prefixe = calculeaza_suma_prefixe(n)
suma_prefixe = calculeaza_suma_prefixe(n)
print("Suma tuturor prefixelor distincte pentru numărul", n, "este", suma_prefixe)
print("Suma tuturor prefixelor distincte pentru numărul", n, "este", suma_prefixe)

Revision as of 11:14, 1 April 2023

def calculeaza_suma_prefixe(numar, prefix=0):

   if numar == 0:
       return prefix
   
   suma = 0
 
   for cifra in range(1, numar % 10 + 1):
       suma += calculeaza_suma_prefixe(numar // 10, prefix + cifra)
   
   return suma


n = int(input("Introduceți un număr natural nenul: "))


suma_prefixe = calculeaza_suma_prefixe(n) print("Suma tuturor prefixelor distincte pentru numărul", n, "este", suma_prefixe)