3619 - Gen Nr Patru Cifre
Sursă: [1]
Cerinţa[edit | edit source]
Dându-se cifrele c1 și c2, să se afișeze toate numerele de patru cifre care îndeplinesc următoarele condiții:
Cifra miilor este mai mare sau egală cu c1.
Cifra zecilor este mai mică sau egală cu c2.
Cifrele sutelor și unităților sunt egale și pare.
Date de intrare[edit | edit source]
Programul citește de la tastatură cifrele c1 și c2.
Date de ieşire[edit | edit source]
Dacă datele introduse sunt corecte, pe ecran se va afișa "Datele introduse sunt corecte.", apoi programul va afișa pe câte un rând, în ordine crescătoare, numerele de patru cifre care îndeplinesc condițiile. În caz contrar, se va afișa pe ecran mesajul "Datele introduse nu sunt corecte.".
Restricții și precizări[edit | edit source]
- 0 ⩽ c1, c2 ⩽ 9
Exemplu[edit | edit source]
- Intrare
- 8 1
- Ieșire
- Datele introduse sunt corecte.
- 8000
- 8010
- 8202
- 8212
- 8404
- 8414
- 8606
- 8616
- 8808
- 8818
- 9000
- 9010
- 9202
- 9212
- 9404
- 9414
- 9606
- 9616
- 9808
- 9818
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line>
def validare_date(c1, c2): # Verificam daca c1 si c2 sunt in intervalul [0,9]
if not (0 <= c1 <= 9) or not (0 <= c2 <= 9): return False return True
def afisare_numere(c1, c2):
- Iteram prin cifrele miilor
for m in range(c1, 10):
- Iteram prin cifrele sutelor, care sunt egale cu cifrele unitatilor si trebuie sa fie pare
for s in range(0, 9, 2):
- Iteram prin cifrele zecilor
for z in range(c2+1):
- Formam numarul de patru cifre cu cifra miilor, cifra sutelor, cifra zecilor si cifra unitatilor
num = m*1000 + s*100 + z*10 + s print(num)
if __name__ == '__main__':
- Citim cifrele c1 si c2 de la tastatura si le convertim la int
cifra1, cifra2 = map(int, input("Introduceti cifrele c1 si c2: ").split()) if not validare_date(cifra1, cifra2): print("Datele introduse nu sunt corecte.") return print("Datele introduse sunt corecte.") afisare_numere(cifra1, cifra2)
</syntaxhighlight>