0046 - Sumă Pare
Sursa: 0046 - Suma Pare
Cerinţa[edit | edit source]
Să se scrie un program care citește numărul natural numar și determină suma S = 2 + 4 + ... + 2 * numar.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul numar
Date de ieșire[edit | edit source]
Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse.", urmat, pe rândul următor, de mesajul: "Suma este: " și suma cerută. În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, programul va afișa "Datele de intrare nu corespund restricțiilor impuse.".
Restricţii şi precizări[edit | edit source]
- numar ∈ ℕ
- 0 < numar ⩽ 10.000
Exemplu[edit | edit source]
- Intrare
- 48
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- Suma este: 2352
- Intrare
- abc
- Ieșire
- Datele introduse nu corespund restricțiilor impuse.
- Intrare
- -25
- Ieșire
- Datele introduse nu corespund restricțiilor impuse.
Rezolvare[edit | edit source]
Rezolvare ver. 1[edit | edit source]
<syntaxhighlight lang="python" line>
- 0046 - Suma Pare
def validare_date_numar(numar: str) -> bool:
if numar.isdigit(): if 0 < int(numar) <= 10_000: return True return False
def suma_pare(numar: int) -> int:
raspuns: int = lambda n: sum([nr for nr in range(0, 2*numar + 1, 2)]) return raspuns(numar)
if __name__ == "__main__":
numar = input() if validare_date_numar(numar): numar = int(numar) print("Datele de intrare corespund restricțiilor impuse.") print(f'Suma este: {suma_pare(numar)}') else: print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>
Rezolvare ver. 2[edit | edit source]
<syntaxhighlight lang="python" line>
- 0046 - Suma Pare
def validare_date_numar(numar: str) -> bool:
if numar.isdigit(): if 0 < int(numar) <= 10_000: return True return False
def suma_pare(numar: int) -> int:
suma: int = 0
for nr in range(0, 2 * numar + 1, 2): suma += nr return suma
if __name__ == "__main__":
numar = input() if validare_date_numar(numar): numar = int(numar) print("Datele de intrare corespund restricțiilor impuse.") print(f'Suma este: {suma_pare(numar)}') else: print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>