2206 - Min Impar: Diferență între versiuni
De la Universitas MediaWiki
(Pagină nouă: == Cerinţa == Se dă un număr '''X'''. Să se afle cel mai mic număr '''Y ≥ X''' cu proprietatea că '''Y''' are doar cifre impare. == Date de intrare == Programul citește de la tastatură numărul '''X'''. == Date de ieșire == Dacă datele sunt introduse corect, pe ecran: "Datele sunt introduse corect.",programul va afișa pe ecran numărul '''Y'''. În cazul în care datele nu respectă restricțiile, se va afișa: "Datele nu corespund restricțiilor impuse.". == R...) |
Fără descriere a modificării |
||
Linia 49: | Linia 49: | ||
x = int(input("Introduceți numărul X: ")) | if __name__ == '__main__': | ||
if not validare_date(x): | x = int(input("Introduceți numărul X: ")) | ||
if not validare_date(x): | |||
print("Datele nu corespund restricțiilor impuse.") | |||
print("Datele sunt introduse corect.") | exit() | ||
y = gaseste_numar_imp(x) | print("Datele sunt introduse corect.") | ||
print(y) | y = gaseste_numar_imp(x) | ||
print(y) | |||
Versiunea de la data 24 martie 2023 19:48
Cerinţa
Se dă un număr X. Să se afle cel mai mic număr Y ≥ X cu proprietatea că Y are doar cifre impare.
Date de intrare
Programul citește de la tastatură numărul X.
Date de ieșire
Dacă datele sunt introduse corect, pe ecran: "Datele sunt introduse corect.",programul va afișa pe ecran numărul Y. În cazul în care datele nu respectă restricțiile, se va afișa: "Datele nu corespund restricțiilor impuse.".
Restricţii şi precizări
- 1 ≤ X ≤ 10^18
Exemple
Exemplul 1
- Intrare
- 22
- Ieșire
- 31
Exemplul 1
- Intrare
- 10
- Ieșire
- 11
Exemplul 1
- Intrare
- -2
- Ieșire
- Datele nu corespund restricțiilor impuse.
Rezolvare
# 2206 - Min Impar
def validare_date(x: int) -> bool:
"""
Verifică dacă datele de intrare sunt valide conform cerințelor.
"""
return 1 <= x <= 10 ** 18
def gaseste_numar_imp(x: int) -> int:
"""
Găsește cel mai mic număr Y ≥ X cu proprietatea că Y are doar cifre impare.
"""
while True:
if all(int(d) % 2 == 1 for d in str(x)):
return x
x += 1
if __name__ == '__main__':
x = int(input("Introduceți numărul X: "))
if not validare_date(x):
print("Datele nu corespund restricțiilor impuse.")
exit()
print("Datele sunt introduse corect.")
y = gaseste_numar_imp(x)
print(y)