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