1892 - S Norocos: Difference between revisions
Dragos1234 (talk | contribs) |
Dragos1234 (talk | contribs) |
||
Line 6: | Line 6: | ||
Programul citește de la tastatură numărul '''n'''. | Programul citește de la tastatură numărul '''n'''. | ||
== Date de ieșire == | == 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. | Daca '''n''' este norocos, programul va afișa pe ecran cele '''n''' numere consecutive care adunate dau '''n * n''', separate prin spații și mesajul "Datele introduse corespund cerintelor." În caz contrar, programul va afișa mesajele '''NU ESTE NOROCOS''' și "Datele introduse nu corespund cerintelor." | ||
== Restricţii şi precizări == | == Restricţii şi precizări == |
Revision as of 13:37, 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 și mesajul "Datele introduse corespund cerintelor." În caz contrar, programul va afișa mesajele NU ESTE NOROCOS și "Datele introduse nu corespund cerintelor."
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.