0252 - U2 Impare

De la Universitas MediaWiki

Cerință

Se dă un număr natural n. Să se determine cele mai mari două numere impare, mai mici decât n.

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieșire

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează cele două numere impare determinate, în ordine crescătoare, separate printr-un spaţiu. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții și precizări

  • 4 ≤ n ≤ 1.000.000.000

Exemplul 1

Intrare
8
Ieșire
Datele de intrare corespund restricțiilor impuse.
5 7

Rezolvare

Rezolvare ver. 1

# Definim functia pentru a verifica integritatea datelor
def validare(n):
    if 4 <= n <= 1000000000:
        return True
    return False


# Definim o functie care afiseaza ultimele 2 numere impare precedente numarului introdus
def u2_impare(n):
    if n % 2 == 1:  # Verificam paritatea numarului
        print(n - 4, ' ', n - 2)
    else:
        print(n - 3, ' ', n - 1)


if __name__ == "__main__":
    n = int(input())  # Introducem un numar de la tastatura
    # Apelam functia de validare
    if validare(n):
        # Afiseaza un mesaj de confirmare a datelor de intrare valide
        print("Datele de intrare corespund restricțiilor impuse.")
        # Afiseaza rezultatul apelarii functiei u2_impare cu parametrii specificati
        u2_impare(n)
    else:
        # Afiseaza un mesaj de eroare daca datele de intrare nu sunt valide
        print("Datele de intrare nu corespund restricțiilor impuse.")