3625 - Prelucrari Cifre
Cerinţa
Scrieți un program fabulos care citește un număr natural n și determină:
- suma pătratelor cifrelor lui n
- suma cifrelor impare ale lui n
- suma cifrelor divizibile cu 3 ale lui n
- numărul cifrelor strict mai mari decât 5
- produsul cifrelor nenule ale lui n
- suma dintre cifra cea mai puțin semnificativă (cifra unităților) lui n
- cifra cea mai semnificativă a lui n
Date de intrare
Programul citește de la tastatură numărul n.
Date de ieşire
Programul va afișa pe ecran, pe randuri diferite suma patratelor a lui n, suma cifrelor impare a lui n, suma cifrelor divizibile cu 3 a lui n, numarul cifrelor strict mai mari decat 5 a lui n, produsul cifrelor nenule a lui n, suma dintre cifra unitatilor a lui n si cifra cea mai semnificativa a lui n.
Restricții și precizări
- 10 ≤ n ≤ 2.000.000.000
Exemplu
- Intrare
- 7360914
- Ieșire
- 192
- 20
- 18
- 3
- 4536
- 11
Rezolvare
<syntaxhighlight lang="python" line>
numar = int(input("Introduceți un număr natural: "))
- Suma pătratelor cifrelor lui n
suma_patrate = 0 for cifra in str(numar):
suma_patrate += int(cifra) ** 2
print(f"Suma pătratelor cifrelor lui {numar} este {suma_patrate}.")
- Suma cifrelor impare ale lui n
suma_impare = 0 for cifra in str(numar):
if int(cifra) % 2 == 1: suma_impare += int(cifra)
print(f"Suma cifrelor impare ale lui {numar} este {suma_impare}.")
- Suma cifrelor divizibile cu 3 ale lui n
suma_numere_divibile3 = 0 for cifra in str(numar):
if int(cifra) % 3 == 0: suma_numere_divibile3 += int(cifra)
print(f"Suma cifrelor divizibile cu 3 ale lui {numar} este {suma_numere_divibile3}.")
- Numărul cifrelor strict mai mari decât 5
numar_cifre_strict_mai_mari = 0 for cifra in str(numar):
if int(cifra) > 5: numar_cifre_strict_mai_mari += 1
print(f"Numărul cifrelor strict mai mari decât 5 din {numar} este {numar_cifre_strict_mai_mari}.")
- Produsul cifrelor nenule ale lui n
produs_nenule = 1 for cifra in str(numar):
if int(cifra) != 0: produs_nenule *= int(cifra)
print(f"Produsul cifrelor nenule ale lui {numar} este {produs_nenule}.")
- Suma dintre cifra cea mai puțin semnificativă (cifra unităților) și cea mai semnificativă a lui n
cea_mai_putin_semnificativa_cifra = int(str(numar)[-1]) cea_mai_semnificativa_cifra = int(str(numar)[0]) suma_extreme = cea_mai_putin_semnificativa_cifra + cea_mai_semnificativa_cifra print(f"Suma dintre cifra cea mai puțin semnificativă și cea mai semnificativă a lui {numar} este {suma_extreme}.")
</syntaxhighlight>