4319 - Cifre 21: Difference between revisions
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
== 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 sunt introduse corect, pe ecran se va afișa: '''"Datele sunt introduse corect."''', apoi programul va afişa pe ecran valoarea cerută. Î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 == | ||
* '''numere''' ⩽ 100 | * '''numere''' ⩽ 100 | ||
* elementele șirului sunt mai mici decât 10^9 | * elementele șirului sunt mai mici decât <math>10^{9}</math> | ||
== Exemplu == | == Exemplu == | ||
; Intrare | ; Intrare | ||
Line 19: | Line 20: | ||
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> | ||
def verificare_date(n, sir): | |||
sir = [] | #Verifică dacă datele de intrare sunt corecte. | ||
for i in range( | #Returnează:True dacă toate elementele șirului sunt mai mici decât 10^9, False altfel | ||
for elem in sir: | |||
if elem >= 10**9: | |||
return False | |||
return True | |||
def rezolvare_problema(n, sir): | |||
#Rezolvă problema și calculează numărul de elemente ale șirului care conțin cifra 0. | |||
cnt = 0 | |||
for elem in sir: | |||
if '0' in str(elem): | |||
cnt += 1 | |||
return cnt #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> |
Revision as of 17:58, 26 April 2023
Sursă: [1]
Cerinţa
Se dă un șir cu n elemente, numere naturale. Să se determine câte elemente ale șirului conțin cifra 0.
Date de intrare
Programul va citi de la tastatură numărul n, apoi cele n elemente ale șirului.
Date de ieşire
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele sunt introduse corect.", apoi programul va afişa pe ecran valoarea cerută. În caz contrar, pe ecran se va afișa: "Datele nu au fost introduse corect."
Restricții și precizări
- numere ⩽ 100
- elementele șirului sunt mai mici decât
Exemplu
- Intrare
- 5
- 18 205 1470 1256 70
- Ieșire
- 3
Explicație
Elementele șirului care conțin cifra 0 sunt: 205 1470 70.
Rezolvare
<syntaxhighlight lang="python" line> 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 elem in sir: if elem >= 10**9: return False return True
def rezolvare_problema(n, sir):
#Rezolvă problema și calculează numărul de elemente ale șirului care conțin cifra 0. cnt = 0 for elem in sir: if '0' in str(elem): cnt += 1 return cnt #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>