1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>

using namespace std;

int iloscCyfrDziesietnych(unsigned long long i)
{
    int ilosc = 0;
    do{
        i /= 10;
        ++ilosc;
    }while(i);
    return ilosc;
}

int main()
{
    unsigned long long l, r, suma = 0, pomocnicza;
    cin >> l >> r;
    int dziesietne, licznik;
    for(unsigned long long i = l; i <= r; i++)
    {
        dziesietne = iloscCyfrDziesietnych(i);
        pomocnicza = i;
        licznik = 0;
        for(int j = 0; j < dziesietne; j++)
        {
            if(pomocnicza % 10 == 0) break;
            else if((i % (pomocnicza % 10)) == 0) ++licznik;
            else break;
            pomocnicza /= 10;
        }
        if(licznik == dziesietne)++suma;
    }
    cout << suma;

    return 0;
}