#include <cstdio> #include <cstdlib> using namespace std; const int F_MAX = 19*9*9; int sqr(int x) { return x * x; } int f(long long int n) { int result = 0; while (n > 0) { result += sqr(n % 10); n /= 10; } return result; } int main() { long long int k, a, b; scanf("%lld %lld %lld", &k, &a, &b); int result = 0; for (int i = 1; i <= F_MAX; ++i) { long long int n = k * (long long int) i; if (n >= a && n <= b && i == f(n)) ++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 27 28 29 30 | #include <cstdio> #include <cstdlib> using namespace std; const int F_MAX = 19*9*9; int sqr(int x) { return x * x; } int f(long long int n) { int result = 0; while (n > 0) { result += sqr(n % 10); n /= 10; } return result; } int main() { long long int k, a, b; scanf("%lld %lld %lld", &k, &a, &b); int result = 0; for (int i = 1; i <= F_MAX; ++i) { long long int n = k * (long long int) i; if (n >= a && n <= b && i == f(n)) ++result; } printf("%d\n", result); return 0; } |