#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; }
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; } |