4319 - Cifre 21: Difference between revisions
No edit summary |
No edit summary |
||
(9 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Sursă: [https://www.pbinfo.ro/probleme/4319/cifre21] | |||
== Cerinţa == | == Cerinţa == | ||
Se dă un șir cu ''' | Se dă un șir cu '''n''' elemente, numere naturale. Să se determine câte elemente ale șirului conțin cifra 0. | ||
== Date de intrare == | == Date de intrare == | ||
Programul va citi de la tastatură numărul ''' | Programul va citi de la tastatură numărul '''n''', apoi cele '''n''' elemente ale șirului. | ||
== Date de ieşire == | == Date de ieşire == | ||
Dacă datele introduse sunt corecte, pe ecran se va afișa mesajul: '''"Datele sunt introduse corect."''', apoi programul va afişa câte elemente ale șirului conțin cifra 0. În caz contrar, pe ecran se va afișa: '''"Datele nu au fost introduse corect."''' | |||
== Restricții și precizări == | == Restricții și precizări == | ||
* ''' | * '''n''' ⩽ 100 | ||
* elementele șirului sunt mai mici decât | * elementele șirului sunt mai mici decât <math>10^{9}</math> | ||
== Exemplu == | == Exemplu == | ||
; Intrare | ; Intrare | ||
Line 13: | Line 16: | ||
: 18 205 1470 1256 70 | : 18 205 1470 1256 70 | ||
; Ieșire | ; Ieșire | ||
: Datele sunt introduse corect. | |||
: 3 | : 3 | ||
== Explicație == | == Explicație == | ||
Elementele șirului care conțin cifra 0 sunt: 205 1470 70. | Elementele șirului care conțin cifra 0 sunt: 205 1470 70. | ||
== Rezolvare == | == Rezolvare == | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
#4319 | |||
sir = [] | |||
for i in range( | def verificare_date(n, sir): | ||
#Verifică dacă datele de intrare sunt corecte. | |||
#Returnează:True dacă toate elementele șirului sunt mai mici decât 10^9, False altfel | |||
for element in sir: | |||
if element >= 10**9: | |||
return False | |||
return True | |||
def rezolvare_problema(n, sir): | |||
count = 0 | |||
for element in sir: | |||
if '0' in str(element): # Verifica daca cifra 0 apare in numar | |||
count += 1 | |||
return count #returneaza cate elemente ale sirului contin cifra 0 | |||
if __name__ == "__main__": | |||
n = int(input("Introduceti numarul de elemente: ")) | |||
sir = [] | |||
for i in range(n): | |||
sir.append(int(input(f"Introduceti elementul {i+1}: "))) | |||
if verificare_date(n, sir): | |||
print("Datele sunt introduse corect.") | |||
print("Numarul de elemente ale sirului care contin cifra 0 este:", rezolvare_problema(n, sir)) | |||
else: | |||
print("Datele nu au fost introduse corect.") | |||
</syntaxhighlight> | </syntaxhighlight> |
Latest revision as of 17:16, 27 April 2023
Sursă: [1]
Cerinţa[edit | edit source]
Se dă un șir cu n elemente, numere naturale. Să se determine câte elemente ale șirului conțin cifra 0.
Date de intrare[edit | edit source]
Programul va citi de la tastatură numărul n, apoi cele n elemente ale șirului.
Date de ieşire[edit | edit source]
Dacă datele introduse sunt corecte, pe ecran se va afișa mesajul: "Datele sunt introduse corect.", apoi programul va afişa câte elemente ale șirului conțin cifra 0. În caz contrar, pe ecran se va afișa: "Datele nu au fost introduse corect."
Restricții și precizări[edit | edit source]
- n ⩽ 100
- elementele șirului sunt mai mici decât
Exemplu[edit | edit source]
- Intrare
- 5
- 18 205 1470 1256 70
- Ieșire
- Datele sunt introduse corect.
- 3
Explicație[edit | edit source]
Elementele șirului care conțin cifra 0 sunt: 205 1470 70.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line>
- 4319
def verificare_date(n, sir):
#Verifică dacă datele de intrare sunt corecte. #Returnează:True dacă toate elementele șirului sunt mai mici decât 10^9, False altfel for element in sir: if element >= 10**9: return False return True
def rezolvare_problema(n, sir):
count = 0 for element in sir: if '0' in str(element): # Verifica daca cifra 0 apare in numar count += 1 return count #returneaza cate elemente ale sirului contin cifra 0
if __name__ == "__main__":
n = int(input("Introduceti numarul de elemente: ")) sir = [] for i in range(n): sir.append(int(input(f"Introduceti elementul {i+1}: "))) if verificare_date(n, sir): print("Datele sunt introduse corect.") print("Numarul de elemente ale sirului care contin cifra 0 este:", rezolvare_problema(n, sir)) else: print("Datele nu au fost introduse corect.")
</syntaxhighlight>