0665 - Div Cif
Sursă: [1]
Cerinţa
Se dau două numere naturale numar1, numar2. Determinați câte numere naturale din intervalul [numar1, numar2] se divid cu toate cifrele lor nenule.
Date de intrare
Programul citește de la tastatură numerele numar1, numar2.
Date de ieşire
Programul va afișa pe ecran numărul nr_numere, reprezentând numărul de numere naturale din intervalul [numar1, numar2] care se divid cu toate cifrele lor nenule.
Restricții și precizări
- 1 ⩽ numar1 ⩽ numar2 ⩽ 1.000.000.000
- numar1 - numar2 ⩽ 1.000
Exemplu
- Intrare
- 11 25
- Ieșire
- 6
Explicație
Cele 6 numere din intervalul [11,25] care respectă regula sunt:11 12 15 20 22 24.
Rezolvare
<syntaxhighlight lang="python" line>
numar1, numar2 = map(int, input().split()) k = 0 for i in range(numar1, numar2+1):
x = i aux = i y = i cate = 0 p = 0 while x != 0: if x % 10 != 0: if aux % (x % 10) == 0: cate += 1 p += 1 if x % 10 == 0: cate += 1 x = x // 10 if p == cate: k += 1
print(k)
</syntaxhighlight>