2288 - Cifra Impara Maxima: Difference between revisions
No edit summary |
|||
Line 6: | Line 6: | ||
Programul va citi de la tastatură un număr natural. | Programul va citi de la tastatură un număr natural. | ||
== Date de ieşire == | == Date de ieşire == | ||
Dacă datele sunt introduse corect, pe ecran se va afișa '''"Datele sunt introduse corect."''', apoi se va afișa pe ecran valoarea cerută. în caz contrar, se va afișa pe ecran. '''"Datele nu au fost introduse corect."'''. | |||
== Restricții și precizări == | == Restricții și precizări == | ||
* numărul citit va fi mai mic decât 2.000.000.000 | * numărul citit va fi mai mic decât 2.000.000.000 | ||
Line 26: | Line 26: | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
# Se citeste un numar de la tastatura | |||
numar = int(input("Introduceti un numar: ")) | numar = int(input("Introduceti un numar: ")) | ||
# Se verifica daca numarul este mai mic decat 2.000.000.000 | |||
cifra | if numar < 2000000000: | ||
# Se initializeaza cifra maxima para cu -1 | |||
max_cifra_impara = -1 | |||
if max_cifra_impara == -1: | # Se itereaza prin fiecare cifra a numarului si se cauta cifra impara maxima | ||
while numar != 0: | |||
cifra = numar % 10 | |||
if cifra % 2 == 1 and cifra > max_cifra_impara: | |||
max_cifra_impara = cifra | |||
numar //= 10 | |||
# Daca nu s-a gasit nicio cifra impara, se afiseaza mesajul "Nu exista." | |||
if max_cifra_impara == -1: | |||
print("Nu exista.") | |||
else: | |||
# Altfel, se afiseaza mesajul "Datele sunt introduse corect." si cifra impara maxima | |||
print("Datele sunt introduse corect.") | |||
print(max_cifra_impara) | |||
else: | else: | ||
# Daca numarul este mai mare sau egal cu 2.000.000.000, se afiseaza mesajul "Datele nu au fost introduse corect" | |||
print( | print("Datele nu au fost introduse corect") | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 17:16, 7 April 2023
Sursă: [1]
Cerinţa
Să se scrie un program care să determine cea mai mare cifră impară a unui număr natural citit de la tastatură.
Date de intrare
Programul va citi de la tastatură un număr natural.
Date de ieşire
Dacă datele sunt introduse corect, pe ecran se va afișa "Datele sunt introduse corect.", apoi se va afișa pe ecran valoarea cerută. în caz contrar, se va afișa pe ecran. "Datele nu au fost introduse corect.".
Restricții și precizări
- numărul citit va fi mai mic decât 2.000.000.000
- dacă numărul citit nu conține cifre impare se va afișa mesajul nu exista
Exemplu
- Intrare
- 2785
- Ieșire
- 7
- Intrare
- 2064
- Ieșire
- Nu exista.
Rezolvare
<syntaxhighlight lang="python" line>
- Se citeste un numar de la tastatura
numar = int(input("Introduceti un numar: "))
- Se verifica daca numarul este mai mic decat 2.000.000.000
if numar < 2000000000:
# Se initializeaza cifra maxima para cu -1 max_cifra_impara = -1
# Se itereaza prin fiecare cifra a numarului si se cauta cifra impara maxima while numar != 0: cifra = numar % 10 if cifra % 2 == 1 and cifra > max_cifra_impara: max_cifra_impara = cifra numar //= 10
# Daca nu s-a gasit nicio cifra impara, se afiseaza mesajul "Nu exista." if max_cifra_impara == -1: print("Nu exista.") else: # Altfel, se afiseaza mesajul "Datele sunt introduse corect." si cifra impara maxima print("Datele sunt introduse corect.") print(max_cifra_impara)
else:
# Daca numarul este mai mare sau egal cu 2.000.000.000, se afiseaza mesajul "Datele nu au fost introduse corect" print("Datele nu au fost introduse corect")
</syntaxhighlight>