3284 - Calc Par Impar
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>