0046 - Sumă Pare

De la Universitas MediaWiki

Sursa: 0046 - Suma Pare


Cerinţa

Să se scrie un program care citește numărul natural numar și determină suma S = 2 + 4 + ... + 2 * numar.

Date de intrare

Programul citește de la tastatură numărul numar

Date de ieșire

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

  • numar ∈ ℕ
  • 0 < numar ⩽ 10.000

Exemplu

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

Rezolvare ver. 1

# 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.")

Rezolvare ver. 2

# 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.")