1892 - S Norocos: Difference between revisions
Dragos1234 (talk | contribs) |
Dragos1234 (talk | contribs) No edit summary |
||
| Line 63: | Line 63: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Explicatie rezolvare == | |||
Acest program primește un număr întreg n de la utilizator și verifică dacă numărul se încadrează între 1 și 1000. | |||
Dacă n este un număr impar, programul va imprima primele n numere naturale impare consecutive începând cu (n+1)//2. | |||
În caz contrar, programul va afișa "NU ESTE NOROCOS". | |||
Funcția validate_n este folosită pentru a verifica dacă n-ul introdus este un număr întreg între 1 și 1000. | |||
Revision as of 11:39, 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
- 8
- Ieșire
- NU ESTE NOROCOS
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>
Explicatie rezolvare
Acest program primește un număr întreg n de la utilizator și verifică dacă numărul se încadrează între 1 și 1000. Dacă n este un număr impar, programul va imprima primele n numere naturale impare consecutive începând cu (n+1)//2. În caz contrar, programul va afișa "NU ESTE NOROCOS". Funcția validate_n este folosită pentru a verifica dacă n-ul introdus este un număr întreg între 1 și 1000.