1310 - Cif Div

De la Universitas MediaWiki
Versiunea pentru tipărire nu mai este suportată și poate avea erori de randare. Vă rugăm să vă actualizați bookmarkurile browserului și să folosiți funcția implicită de tipărire a browserului.

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.")