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

int main() 
{
	int result = 0;
	long long k, a, b;
	scanf("%lld %lld %lld", &k, &a, &b);
	a = (a % k) ? (a / k + 1) : (a / k);
	b /= k;
	if (b > (19*81)) {
		b = 19*81;
	}
	for( long long i = a; i <= b; ++i) {
		long long n = i * k;
		long long t = 0;
		for (int j = 0; j < 19; ++j) {
			t += (n % 10) * (n % 10);
			n /= 10;
		}
		if (t == i) {
			++result;
		}
	}
	printf("%d\n", result);
	return 0;
}