0047 - Sumă Pătrate: Diferență între versiuni

De la Universitas MediaWiki
(Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/47/sumapatrate] == Cerinţa == Să se scrie un program care citește numărul natural '''n''' și determină suma primelor '''n''' pătrate perfecte nenule. == Date de intrare == Programul citește de la tastatură numărul '''n'''. == Date de ieșire == Programul afișează pe prima linie a ecranului mesajul Rezultatul este '''S''', unde '''S''' reprezintă suma calculată. == Restricţii şi precizări == * 0 < '''n''' < 1000 =...)
 
Linia 1: Linia 1:
Sursa: [https://www.pbinfo.ro/probleme/47/sumapatrate]
Sursa: [https://www.pbinfo.ro/probleme/47/sumapatrate]
== Cerinţa ==
== Cerinţa ==
Să se scrie un program care citește numărul natural '''n''' și determină suma primelor '''n''' pătrate perfecte nenule.
Se dau n numere naturale. Pentru fiecare numar '''x''', calculati '''1+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2+3+...x)'''.
 
== Date de intrare ==
== Date de intrare ==
Programul citește de la tastatură numărul '''n'''.
Programul citește de la tastatură numărul '''n'''.

Versiunea de la data 19 martie 2023 18:16

Sursa: [1]

Cerinţa

Se dau n numere naturale. Pentru fiecare numar x, calculati 1+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2+3+...x).

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieșire

Programul afișează pe prima linie a ecranului mesajul Rezultatul este S, unde S reprezintă suma calculată.

Restricţii şi precizări

  • 0 < n < 1000

Exemplul 1

Intrare
0
Ieșire
Datele introduse nu corespund cerințelor.


Exemplul 2

Intrare
6
Ieșire
Rezultatul este 91


Exemplul 3

Intrare
7
Ieșire
Rezultatul este 140


Rezolvare

#0047
import math


def validate_input(n):
    if n <= 0 or n >= 1000:
        return False
    else:
        return True


def compute_sum(n):
    sum = 0
    count = 0
    num = 1
    while count < n:
        if math.sqrt(num) % 1 == 0:  # Verifică dacă numărul este pătrat perfect
            sum += num
            count += 1
        num += 1
    return sum


if __name__ == '__main__':
    n = int(input("Introduceti n: "))
    while not validate_input(n):
        print("Datele introduse nu corespund cerintelor.")
        n = int(input("Introduceti n: "))

    sum = compute_sum(n)
    print("Rezultatul este", sum)