3075 - Prod K
Sursa: [1]
Cerința[edit | edit source]
Scrieți un program care citește un număr natura n și o cifra. Programul va calcula produsul cifrelor numarului diferite de cifra data.
Date de intrare[edit | edit source]
Programul citește de la tastatură numarul si cifra.
Date de ieșire[edit | edit source]
Programul va afișa pe ecran produsul, cu semnificația din enunț. Dacă numarul nu conține cifre diferite de cifra data, programul va afișa valoarea 0.
Restricții și precizări[edit | edit source]
- 1 ≤ numar ≤ 2.000.000.000
Exemplu[edit | edit source]
- Intrare
- 123242 2
- Ieșire
- 12
Explicație[edit | edit source]
S-a citit n=123242 iar produsul afișat este P=12 (=1*3*4).
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line>
def calculeaza_produs(numarul, cifra):
if cifra < 0: print("Cifra trebuie să fie pozitivă.") exit()
produs = 1 contine_cifra_diferita = False
# Parcurgem fiecare cifră a numarului while numarul > 0: cifra_curenta = numarul % 10
# Verificăm dacă cifra este diferită de cifra dată și este pozitivă if cifra_curenta != cifra and cifra > 0: produs *= cifra_curenta contine_cifra_diferita = True
numarul //= 10
# Dacă numarul nu conține nicio cifră diferită de cifra dată, returnăm 0 if not contine_cifra_diferita: return 0
return produs
if __name__ == "__main__":
# Citim valorile de intrare numarul, cifra = map(int, input("Introduceți valorile pentru numarul și cifra: ").split())
# Validăm intrarea if numarul < 1 or numarul > 2000000000: print("Numarul trebuie să fie între 1 și 2.000.000.000.") exit()
# Calculăm și afișăm produsul rezultat = calculeaza_produs(numarul, cifra) print("Produsul cifrelor numarului diferite de cifra dată este:", rezultat)
</syntaxhighlight>