0252 - U2 Impare

From Bitnami MediaWiki

Cerință[edit | edit source]

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

Date de intrare[edit | edit source]

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

Date de ieșire[edit | edit source]

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[edit | edit source]

  • 4 ≤ n ≤ 1.000.000.000

Exemplul 1[edit | edit source]

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

Rezolvare[edit | edit source]

Rezolvare ver. 1[edit | edit source]

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