0252 - U2 Impare

From Bitnami 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

Programul afișează pe prima linie a ecranului cele două numere impare determinate, în ordine crescătoare, separate printr-un spaţiu.

Restricții și precizări

  • 4 ≤ n ≤ 1.000.000.000

Exemplul 1

Intrare
8
Ieșire
5 7

Rezolvare

Rezolvare ver. 1

<syntaxhighlight lang="python" line="1" start="1">

  1. Definim functia pentru a verifica integritatea datelor

def validare(n):

   if 4 <= n <= 1000000000:
       return True
   return False


  1. 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.")

</syntaxhighlight>