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
/*PA2015 etap0 Równanie*/
#include <iostream>
using namespace std;

const int maksWartFN = 9 * 9 * 18;
const int potegi[10] = {0, 1 * 1, 2 * 2, 3 * 3, 4 * 4, 5 * 5, 6 * 6, 7 * 7, 8 * 8, 9 * 9};

int wyliczFN(long long liczba) {
    int wynik = 0;
    
    for(; liczba; liczba /= 10)
        wynik += potegi[liczba % 10];
    return wynik;
}

int main() {
    ios_base::sync_with_stdio(0);
    long long k, a, b, n;
    int wynik = 0;

    cin >> k >> a >> b;
    for(int i = 1; i <= maksWartFN; ++i) {
        n = k * i;
        if(n > b) break;
        if(n >= a && wyliczFN(n) == i) ++wynik;
    }
    cout << wynik;
    return 0;
}