3075 - Prod K
Sursa: [1]
Cerința
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
Programul citește de la tastatură numarul si cifra.
Date de ieșire
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
- 1 ≤ numar ≤ 2.000.000.000
Exemplu
- Intrare
- 123242 2
- Ieșire
- 12
Explicație
S-a citit n=123242 iar produsul afișat este P=12 (=1*3*4).
Rezolvare
<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>