1310 - Cif Div

De la Universitas MediaWiki

Cerință

Se citesc două numere naturale n și m format din trei cifre fiecare. Să se afle câte cifre din n divid pe m.

Date de intrare

Programul citește de la tastatură numerele n și m.

Date de ieșire

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran valoarea cerută. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții de precizări

  • 100 ⩽ n, m ⩽ 999

Exemplul 1

Intrare
600
273
Ieșire
Datele introduse corespund restricțiilor impuse.
2

Rezolvare

Rezolvare ver. 1

def validare(n, m):
    return n.isdigit() and 100 <= int(n) <= 999 and m.isdigit() and 100 <= int(m) <= 999


def cif_div(n, m): #verificăm câte nr din n sunt divizibile cu m 
    count = 0 #contorizăm nr de numere 
    for i in range(3): #verificarea se face pentru primele 3 cifre ale lui n, de la dreapta la stânga 
        digit = n % 10
        n //= 10
        if digit % m == 0:  #dacă condițile sunt îndeplinite se mai adaugă un nr la contor 
            count += 1

    print(f"Există {count} cifre din n care divid pe m.")


if __name__ == '__main__':
    n = input("Introduceți primul număr: ")
    m = input("Introduceți al doilea număr: ")

    if validare(n, m):
        n, m = int(n), int(m)
        print("Datele introduse corespund restricțiilor impuse.")
        cif_div(n, m)
    else:
        print("Datele introduse nu corespund restricțiilor impuse.")