4318 - Cifre 20

From Bitnami MediaWiki

Cerinţa

Se dă un șir cu n elemente, numere naturale. Să se determine câte elemente ale șirului au număr impar de cifre.

Date de intrare

Programul va citi de la tastatură numărul n, apoi cele n elemente ale șirului.

Date de ieşire

Programul va afişa pe ecran valoarea cerută.

Restricții și precizări

  • n ≤ 100
  • elementele șirului sunt mai mici decât 10^9

Exemplu

Intrare
5 18 215 147 1256 7
Ieșire
3

Explicatie

Elementele șirului cu număr impar de cifre sunt: 215 147 7.

Rezolvare

<syntaxhighlight lang="python" line>

  1. Citim numărul de elemente din șir și validăm inputul

while True:

   try:
       n = int(input("Introduceti numarul de elemente din sir: "))
       if n <= 0:
           print("Numarul de elemente trebuie sa fie un numar pozitiv!")
           continue
       break
   except ValueError:
       print("Numarul de elemente trebuie sa fie un numar intreg pozitiv!")
  1. Inițializăm un contor pentru numărul de elemente cu număr impar de cifre

contor = 0

  1. Citim fiecare element din șir și verificăm dacă are număr impar de cifre

for i in range(n):

   # Citim elementul și validăm inputul
   while True:
       try:
           element = int(input(f"Introduceti elementul {i+1}: "))
           if element <= 0:
               print("Elementul trebuie sa fie un numar natural pozitiv!")
               continue
           break
       except ValueError:
           print("Elementul trebuie sa fie un numar natural pozitiv!")
   # Numărăm cifrele elementului și verificăm dacă este impar
   numar_cifre = len(str(element))
   if numar_cifre % 2 == 1:
       contor += 1
  1. Afișăm numărul de elemente cu număr impar de cifre

print(f"Numarul de elemente cu numar impar de cifre este: {contor}")

</syntaxhighlight>