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

De la Universitas MediaWiki
Linia 75: Linia 75:
Acest program calculează suma primelor n numere întregi care sunt pătrate perfecte, unde n este introdus de utilizator.
Acest program calculează suma primelor n numere întregi care sunt pătrate perfecte, unde n este introdus de utilizator.


Funcția validate_input(n) verifică dacă n este un număr întreg pozitiv mai mic decât 1000, returnând False dacă nu este îndeplinită această condiție și True în caz contrar.
Funcția '''validate_input(n)''' verifică dacă n este un număr întreg pozitiv mai mic decât 1000, returnând False dacă nu este îndeplinită această condiție și True în caz contrar.


Funcția compute_sum(n) calculează suma primelor n numere întregi care sunt pătrate perfecte prin utilizarea unui loop while care se execută până când s-au găsit n numere întregi pătrate perfecte. În interiorul loop-ului, fiecare număr întreg este verificat pentru a vedea dacă este pătrat perfect. Dacă este, numărul este adăugat la suma totală și numărul de numere pătrate perfecte găsite până în prezent este incrementat.
Funcția '''compute_sum(n)''' calculează suma primelor n numere întregi care sunt pătrate perfecte prin utilizarea unui loop while care se execută până când s-au găsit n numere întregi pătrate perfecte. În interiorul loop-ului, fiecare număr întreg este verificat pentru a vedea dacă este pătrat perfect. Dacă este, numărul este adăugat la suma totală și numărul de numere pătrate perfecte găsite până în prezent este incrementat.


În funcția principală (if __name__ == '__main__':), utilizatorul este întâi rugat să introducă un număr întreg pozitiv, n, și acesta este validat cu ajutorul funcției validate_input(n). Dacă numărul nu este valid, utilizatorul este rugat să introducă un alt număr până când se introduce un număr valid. Dacă numărul este valid, funcția compute_sum(n) este apelată și afișează suma primelor n numere întregi care sunt pătrate perfecte.
În funcția principală '''(if __name__ == '__main__':)''', utilizatorul este întâi rugat să introducă un număr întreg pozitiv, n, și acesta este validat cu ajutorul funcției '''validate_input(n)'''. Dacă numărul nu este valid, utilizatorul este rugat să introducă un alt număr până când se introduce un număr valid. Dacă numărul este valid, '''funcția compute_sum(n)''' este apelată și afișează suma primelor n numere întregi care sunt pătrate perfecte.

Versiunea de la data 17 aprilie 2023 12:41

Sursa: [1]

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, iar apoi n numere naturale, separate prin spații.

Date de ieșire

Acest program calculează suma primelor n numere întregi care sunt pătrate perfecte. Datele de ieșire pentru acest program sunt:

  • Dacă datele de intrare nu corespund cerințelor (numărul introdus este mai mic sau egal cu 0 sau mai mare sau egal cu 1000), programul va afișa "Datele introduse nu corespund cerințelor."
  • Dacă datele de intrare sunt corecte, programul va calcula suma primelor n numere întregi care sunt pătrate perfecte și va afișa rezultatul cu ajutorul frazei "Rezultatul este" urmată de valoarea calculată.

Restricţii şi precizări

  • 1 < 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)

Explicatie rezolvare

Acest program calculează suma primelor n numere întregi care sunt pătrate perfecte, unde n este introdus de utilizator.

Funcția validate_input(n) verifică dacă n este un număr întreg pozitiv mai mic decât 1000, returnând False dacă nu este îndeplinită această condiție și True în caz contrar.

Funcția compute_sum(n) calculează suma primelor n numere întregi care sunt pătrate perfecte prin utilizarea unui loop while care se execută până când s-au găsit n numere întregi pătrate perfecte. În interiorul loop-ului, fiecare număr întreg este verificat pentru a vedea dacă este pătrat perfect. Dacă este, numărul este adăugat la suma totală și numărul de numere pătrate perfecte găsite până în prezent este incrementat.

În funcția principală (if __name__ == '__main__':), utilizatorul este întâi rugat să introducă un număr întreg pozitiv, n, și acesta este validat cu ajutorul funcției validate_input(n). Dacă numărul nu este valid, utilizatorul este rugat să introducă un alt număr până când se introduce un număr valid. Dacă numărul este valid, funcția compute_sum(n) este apelată și afișează suma primelor n numere întregi care sunt pătrate perfecte.