1892 - S Norocos: Difference between revisions
Dragos1234 (talk | contribs) |
Dragos1234 (talk | contribs) |
||
Line 35: | Line 35: | ||
if __name__ == '__main__': | |||
n = int(input("n: ")) | n = int(input("n: ")) | ||
if not validate_n(n): | if not validate_n(n): | ||
print(" | print("Datele introduse nu corespund cerințelor.") | ||
exit() | |||
else: | |||
print("Datele introduse corespund cerintelor.") | |||
if n % 2 == 1: | if n % 2 == 1: | ||
k = (n+1)//2 | k = (n+1)//2 | ||
Line 48: | Line 52: | ||
else: | else: | ||
print("NU ESTE NOROCOS") | print("NU ESTE NOROCOS") | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 13:35, 12 May 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>
- 1892
def validate_n(n):
if isinstance(n, int) and 1 <= n <= 1000: return True else: return False
if __name__ == '__main__':
n = int(input("n: ")) if not validate_n(n): print("Datele introduse nu corespund cerințelor.") exit()
else: print("Datele introduse corespund cerintelor.")
if n % 2 == 1: k = (n+1)//2 while n > 0: print(k, end=' ') k += 1 n -= 1 else: print("NU ESTE NOROCOS")
</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.