3619 - Gen Nr Patru Cifre: Difference between revisions
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 ''' | 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 ''' | Cifra miilor este mai mare sau egală cu '''c1'''.<br> | ||
Cifra zecilor este mai mică sau egală cu ''' | 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 ''' | Programul citește de la tastatură cifrele '''c1''' și '''c2'''. | ||
== Date de ieşire == | == Date de ieşire == | ||
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 ⩽ | * ''' 0 ⩽ c1, c2 ⩽ 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) | |||
</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):
- 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>