4319 - Cifre 21: Difference between revisions

From Bitnami MediaWiki
No edit summary
No edit summary
 
(10 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 '''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 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 ==
* numere ⩽ 100
* '''n''' ⩽ 100
* elementele șirului sunt mai mici decât 109
* 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 ==
=== Rezolvare ver. 1 ===
<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line>
numere = int(input("Introduceți numărul de elemente din șir: "))
#4319
sir = []
 
for i in range(numere):
def verificare_date(n, sir):
    sir.append(int(input("Introduceți elementul {}: ".format(i+1))))
    #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.")


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>

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>

  1. 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>