1153 - -Verif Nr Par Cifre Div Imp
Cerința
Se dă un şir cu n elemente, numere naturale. Folosind metoda Divide et Impera să se verifice dacă toate elementele şirului au număr par de cifre.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi cele n elemente ale şirului, separate prin spaţii.
Date de ieșire
Programul afișează pe ecran mesajul DA, dacă toate elementele şirului au număr par de cifre, respectiv NU în caz contrar.
Restricții si precizări:
1 ≤ n ≤ 100
elementele şirului sunt numere naturale nenule cu cel mult 9 cifre
Exemplu
Date de intrare
5
2820 82 65 1026 84
Date de iesire
DA
Rezolvare
<syntaxhighlight lang="python"> def citire():
n = int(input()) v = [int(input()) for _ in range(n)] return n, v
def nrcif(st, dr, v):
if st == dr: cnt = 1 while v[st] > 9: v[st] //= 10 cnt += 1 return cnt % 2 == 0 else: m = (st + dr) // 2 R1 = nrcif(st, m, v) R2 = nrcif(m + 1, dr, v) return R1 and R2
def main():
n, v = citire() if nrcif(0, n - 1, v): print("DA") else: print("NU")
if __name__ == "__main__":
main()
</syntaxhighlight>