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
#include<iostream>

using namespace std;
int tab[10]={0,1,4,9,16,25,36,49,64,81};
int fn(unsigned long long a)
{
    int b=0;
    while (a)
    {
        b+=tab[a%10];
        a/=10;
    }
    return b;
}

int main()
{
    unsigned long long a,b,k,dziel,w;
    int suma=0;
    cin >> k >> a >> b;
    if(a%k==0)dziel=a/k;
    else dziel=a/k+1;
    w=dziel*k;
    while(dziel<=1458 && w<=b)
    {
        if(fn(w)==dziel)suma++;
        w+=k;
        dziel++;
    }
    cout << suma;
}