1153 - Verif Nr Par Cifre Div Imp

From Bitnami MediaWiki

Cerinta

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 iesire

Programul afișează pe ecran mesajul DA, dacă toate elementele şirului au număr par de cifre, respectiv NU în caz contrar.

Restrictii si precizari:

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:

def numar_cifre_par(numar):

    if numar == 0:

        return 1  # 0 este considerat a avea un număr par de cifre

    count = 0

    while numar > 0:

        count += 1

        numar //= 10

    return count % 2 == 0

def toate_cifrele_sunt_par(arr):

    for element in arr:

        if not numar_cifre_par(element):

            return False

    return True

def main():

    n = int(input("Introduceți lungimea șirului: "))

    sir = list(map(int, input("Introduceți elementele șirului separate prin spațiu: ").split()))

    rezultat = toate_cifrele_sunt_par(sir)

    if rezultat:

        print("DA")

    else:

        print("NU")

if __name__ == "__main__":

    main()