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 == | ||
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)