3284 - Calc Par Impar

From Bitnami MediaWiki
Revision as of 15:56, 15 March 2023 by Andor Giulia (talk | contribs) (Pagină nouă: Sursă: [https://www.pbinfo.ro/probleme/3284/calcparimpar] == Cerință == Se dau '''n''' numere naturale. Considerăm poziţiile lor numerotate de la '''1''' la '''n'''. Să se determine cea mai mare valoare memorată pe o poziţie pară şi cea mai mică valoare de două cifre aflată pe o poziţie impară. == Date de intrare == Programul citește de la tastatură numărul '''n''', iar apoi '''n''' numere naturale, separate prin spații. == Date de ieșire == Programul va a...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Sursă: [1]

Cerință

Se dau n numere naturale. Considerăm poziţiile lor numerotate de la 1 la n. Să se determine cea mai mare valoare memorată pe o poziţie pară şi cea mai mică valoare de două cifre aflată pe o poziţie impară.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații.

Date de ieșire

Programul va afișa pe ecran numerele x şi y, pe același rând și separate prin spațiu, reprezentând, în ordine, cele două valori calculate. În cazul în care nu sunt valori de două cifre pe poziții impare se va afișa -1 în contul valorii y.

Restricții și precizări

  • 2 ≤ n ≤ 20
  • cele n numere citite vor fi mai mici decât 1.000.000.000

Exemplu

Intrare
5
1 3 3 4 8
Ieșire
4 -1

Rezolvare

<syntaxhighlight lang="python" line="1"> def nrcif(n):

   cnt = 0
   while n:
       n //= 10
       cnt += 1
   return cnt

n = int(input("Introduceți numărul de valori: " )) max_par = -1 min_impar = 100 for i in range(1, n+1):

   x = int(input("Introduceți o valoare: "))
   if i % 2 == 0:
       if x > max_par:
           max_par = x
   else:
       if nrcif(x) == 2 and x < min_impar:
           min_impar = x

if max_par == -1:

   print("-1")

else:

   print(max_par, end=" ")
   if min_impar == 100:
       print("-1")
   else:
       print(min_impar)

</syntaxhighlight>