0285 - X2Y2K: Diferență între versiuni
De la Universitas MediaWiki
Linia 20: | Linia 20: | ||
== Exemplul 1 == | == Exemplul 1 == | ||
; Intrare | ; Intrare | ||
: | : 1000000 | ||
; Ieșire | ; Ieșire | ||
: | : 280 960 | ||
: | : 352 936 | ||
: 600 800 | |||
<br> | <br> | ||
== Rezolvare == | == Rezolvare == |
Versiunea de la data 3 aprilie 2023 12:34
Sursa: [1]
Cerinţa
Se dă un număr natural, k. Să se determine toate perechile de numere naturale nenule x, y (x<=y), cu proprietatea că x2+y2=k .
Date de intrare
Programul citește de la tastatură numărul k.
Date de ieșire
Programul afișează perechile x, y determinate, câte o pereche pe o linie a ecranului, în ordinea crescătoare a valorii lui x.
Dacă datele sunt introduse corect, programul va rula.
În cazul în care datele nu respectă restricțiile, se va afișa pe ecran: "Datele nu corespund restricțiilor impuse.".
Restricţii şi precizări
2 ≤ k ≤ 1.000.000.000
pentru toate valorile lui k utilizate în teste există cel puţin o soluţie
Exemplul 1
- Intrare
- 1000000
- Ieșire
- 280 960
- 352 936
- 600 800
Rezolvare
#4273
def patrate_perfecte(n):
patrate = []
i = 1
while len(patrate) < n:
patrat = i * i
patrate.append(patrat)
i += 1
return patrate
def calculeaza(numbers):
product = 1
for number in numbers:
product *= number
return product
def validare_numar(n):
if n < 1 or n > 10:
return False
return True
if __name__ == '__main__':
n = int(input("Introduceți numărul n: "))
if not validare_numar(n):
print("Datele introduse nu corespund cerintelor.")
else:
squares = patrate_perfecte(n)
product = calculeaza(squares)
print("Datele introduse corespund cerintelor.")
print(product)