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