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
#include <cstdio>
#include <algorithm>
using namespace std;

int main() {
	const long long F_MAX = 2000;
	int i, wynik = 0;
	long long k, a, b, n;
	scanf("%lld%lld%lld", &k, &a, &b);
	long long funkcja_zakres = min((long long) 1e18 / k, F_MAX);
	for (i = 0; i <= funkcja_zakres; ++i) {
		n = k * i;
		if (n >= a && n <= b) {
			int suma = 0;
			while (n > 0) {
				suma += (n % 10) * (n % 10);
				n /= 10;
			}
			if (suma == i)
				wynik++;
		}
	}
	printf("%d", wynik);
	return 0;
}