4319 - Cifre 21: Diferență între versiuni

De la Universitas MediaWiki
Fără descriere a modificării
Fără descriere a modificării
Linia 2: Linia 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
Linia 19: Linia 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>

Versiunea de la data 26 aprilie 2023 17:58

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

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.")