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
#include <cstdio>
#include <cstdlib>
#include <algorithm>

using namespace std;
using ll = long long;

int main()
{
	auto f = [](ll x)
	{
		ll result = 0;
		while(x)
		{
			ll r = x % 10;
			result += r * r;
			x /= 10;
		}
		return result;
	};
	ll k, a, b;
	scanf("%lld%lld%lld", &k, &a, &b);
	auto beg = a;
	if(auto r = a % k)
		beg += k - r;
	constexpr ll m = 18 * 9 * 9;
	auto end = min(m * k, b);
	auto counter = 0;
	for(auto i = beg; i <= end; i += k)
		if(k * f(i) == i)
			++counter;
	printf("%d", counter);
}