3619 - Gen Nr Patru Cifre

From Bitnami MediaWiki

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

  1. Iteram prin cifrele miilor
   for m in range(c1, 10):
  1. Iteram prin cifrele sutelor, care sunt egale cu cifrele unitatilor si trebuie sa fie pare
       for s in range(0, 9, 2):
  1. Iteram prin cifrele zecilor
           for z in range(c2+1):
  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__':

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