3619 - Gen Nr Patru Cifre: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: Sursă: [https://www.pbinfo.ro/probleme/3619/gen-nr-patru-cifre] == Cerinţa == Dându-se cifrele '''cifra1''' și '''cifra2''', să se afișeze toate numerele de patru cifre care îndeplinesc următoarele condiții: Cifra miilor este mai mare sau egală cu '''cifra1''' Cifra zecilor este mai mică sau egală cu '''cifra2''' Cifrele sutelor și unităților sunt egale și pare == Date de intrare == Programul citește de la tastatură cifrele '''cifra1''' și '''cifra2'''. =...
 
No edit summary
 
Line 2: Line 2:


== Cerinţa ==
== Cerinţa ==
Dându-se cifrele '''cifra1''' și '''cifra2''', să se afișeze toate numerele de patru cifre care îndeplinesc următoarele condiții:
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 '''cifra1'''
Cifra miilor este mai mare sau egală cu '''c1'''.<br>
Cifra zecilor este mai mică sau egală cu '''cifra2'''
Cifra zecilor este mai mică sau egală cu '''c2'''.<br>
Cifrele sutelor și unităților sunt egale și pare
Cifrele sutelor și unităților sunt egale și pare.
== Date de intrare ==
== Date de intrare ==
Programul citește de la tastatură cifrele '''cifra1''' și '''cifra2'''.
Programul citește de la tastatură cifrele '''c1''' și '''c2'''.
== Date de ieşire ==
== Date de ieşire ==
Programul va afișa pe câte un rând, în ordine crescătoare, numerele de patru cifre care îndeplinesc condițiile.
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 ==
== Restricții și precizări ==
* ''' 0 &les; cifra1, cifra2 &les; 9'''
* ''' 0 &les; c1, c2 &les; 9'''


== Exemplu ==
== Exemplu ==
Line 18: Line 18:
: 8 1
: 8 1
; Ieșire
; Ieșire
: Datele introduse sunt corecte.
: 8000
: 8000
: 8010
: 8010
Line 42: Line 43:
<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line>


cifra1, cifra2 = map(int, input().split())
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)


for m in range(cifra1, 10):
    for s in range(0, 9, 2):
        for z in range(cifra2+1):
            num = m*1000 + s*100 + z*10 + s
            print(num)




</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 18:28, 28 April 2023

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>