1892 - S Norocos

De la Universitas MediaWiki

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

#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)

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.