4319 - Cifre 21: Difference between revisions

From Bitnami MediaWiki
No edit summary
No edit summary
Line 2: Line 2:


== Cerinţa ==
== Cerinţa ==
Se dă un șir cu '''numere''' elemente, numere naturale. Să se determine câte elemente ale șirului conțin cifra 0.
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 '''numere''', apoi cele '''numere''' elemente ale șirului.
Programul va citi de la tastatură numărul '''n''', apoi cele '''n''' elemente ale șirului.
== Date de ieşire ==
== Date de ieşire ==
Programul va afişa pe ecran valoarea cerută.
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 ==
=== Rezolvare ver. 1 ===
<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line>
numere = int(input("Introduceți numărul de elemente din șir: "))
def verificare_date(n, sir):
sir = []
    #Verifică dacă datele de intrare sunt corecte.
for i in range(numere):
    #Returnează:True dacă toate elementele șirului sunt mai mici decât 10^9, False altfel
    sir.append(int(input("Introduceți elementul {}: ".format(i+1))))
 
    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.")


numar_elemente_cu_0 = 0
for element in sir:
    if "0" in str(element):
        numar_elemente_cu_0 += 1


print("Numărul de elemente din șir care conțin cifra 0 este: ", numar_elemente_cu_0)
</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>