0407 - Oglindit Prim

From Bitnami MediaWiki
Revision as of 09:59, 25 March 2023 by Paul Matei (talk | contribs) (Pagină nouă: == Cerinţa == Se dă un șir cu '''n''' numere naturale. Determinați suma celor care au oglinditul număr prim. == Date de intrare == Programul citește de la tastatură numărul '''n''', iar apoi '''n''' numere naturale. == Date de ieşire == Programul afișează pe ecran numărul '''S''', reprezentând rezultatul cerut. == Restricții și precizări == *'''1 ≤ n ≤ 1000''' *cele '''n''' numere citite vor fi mai mici decât '''1.000.000.000''' == Exemplu == ; Intrare :6...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerinţa

Se dă un șir cu n numere naturale. Determinați suma celor care au oglinditul număr prim.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale.

Date de ieşire

Programul afișează pe ecran numărul S, reprezentând rezultatul cerut.

Restricții și precizări

  • 1 ≤ n ≤ 1000
  • cele n numere citite vor fi mai mici decât 1.000.000.000

Exemplu

Intrare
6

133 35 41 31 90 7

Ieșire
206

Explicație

Dintre cele 6 numere citite au oglinditul număr prim: 133 35 31 7. Suma lor este 206.

Rezolvare

<syntaxhighlight lang="python" line> def is_prime(num):

   """Verifică dacă un număr este prim."""
   if num < 2:
       return False
   for i in range(2, int(num ** 0.5) + 1):
       if num % i == 0:
           return False
   return True


def reverse_number(num):

   """Returnează oglinditul unui număr."""
   reversed_num = 0
   while num > 0:
       reversed_num = reversed_num * 10 + num % 10
       num //= 10
   return reversed_num


def validate_input(prompt, lower_bound, upper_bound):

   """Solicită introducerea unui număr întreg în intervalul [lower_bound, upper_bound]"""
   while True:
       try:
           num = int(input(prompt))
           if lower_bound <= num <= upper_bound:
               return num
           else:
               print(f"Introduceți un număr întreg în intervalul [{lower_bound}, {upper_bound}]")
       except ValueError:
           print("Introduceți un număr întreg valid.")



</syntaxhighlight>