1892 - S Norocos: Difference between revisions
Dragos1234 (talk | contribs) |
Dragos1234 (talk | contribs) |
||
Line 13: | Line 13: | ||
== Exemplul 1 == | == Exemplul 1 == | ||
; Intrare | ; Intrare | ||
: | : 7 | ||
; Ieșire | ; Ieșire | ||
: | : 4 5 6 7 8 9 10 | ||
<br> | <br> | ||
Revision as of 11:38, 1 April 2023
Sursa: [1]
Cerinţa
Se dă un număr natural n. Dacă numărul este norocos afișați cele n numere consecutive care adunate dau pătratul acestuia.
Date de intrare
Programul citește de la tastatură numărul n.
Date de ieșire
Daca n este norocos, programul va afișa pe ecran cele n numere consecutive care adunate dau n * n, separate prin spații. In caz contrar, programul va afișa mesajul NU ESTE NOROCOS.
Restricţii şi precizări
- 1 ⩽ n ⩽ 1000
Exemplul 1
- Intrare
- 7
- Ieșire
- 4 5 6 7 8 9 10
Exemplul 2
- Intrare
- 16
- Ieșire
- Datele introduse nu corespund cerințelor.
Exemplul 3
- Intrare
- 7
- Ieșire
- Datele corespund cerințelor.
- 25401600
Rezolvare
<syntaxhighlight lang="python" line>
- 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)
</syntaxhighlight>