1892 - S Norocos: Difference between revisions
Dragos1234 (talk | contribs) |
|||
Line 35: | Line 35: | ||
else: | else: | ||
return False | return False | ||
def print_sequence(n): | |||
if n % 2 == 1: | |||
k = (n + 1) // 2 | |||
while n > 0: | |||
print(k, end=' ') | |||
k += 1 | |||
n -= 1 | |||
else: | |||
print("NU ESTE NOROCOS") | |||
Line 42: | Line 53: | ||
print("Datele introduse nu corespund cerințelor.") | print("Datele introduse nu corespund cerințelor.") | ||
exit() | exit() | ||
else: | else: | ||
print("Datele introduse corespund cerintelor.") | print("Datele introduse corespund cerintelor.") | ||
print_sequence(n) | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 21:34, 14 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
- Datele introduse corespund cerintelor.
- 4 5 6 7 8 9 10
Exemplul 2
- Intrare
- 8
- Ieșire
- Datele introduse corespund cerintelor.
- 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
def print_sequence(n):
if n % 2 == 1: k = (n + 1) // 2 while n > 0: print(k, end=' ') k += 1 n -= 1 else: print("NU ESTE NOROCOS")
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.")
print_sequence(n)
</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.