#include<cstdio> #include<cmath> #include<algorithm> #include<vector> #include<string> #include<functional> #include<ctype.h> #include<map> #define LL long long #define LD long double #define L(x) ((x).size()) #define FI first #define SE second #define MP make_pair #define PB push_back using namespace std; LL f(LL x){ LL c,s =0; while(x){ c = x%10; x/=10; s+=c*c; } return s; } LL a,b,k,score,r,w; int main(){ scanf("%lld %lld %lld",&k,&a,&b); for(int i=1;i<=2000 && i<=(b/k)+1;++i){ r = k*i; if(r>=a && r<=b){ w = f(r); if(w<=(b/k)+1){ if(k*w==r){ ++score; } } } } printf("%lld\n",score); }
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 34 35 36 37 38 39 40 41 | #include<cstdio> #include<cmath> #include<algorithm> #include<vector> #include<string> #include<functional> #include<ctype.h> #include<map> #define LL long long #define LD long double #define L(x) ((x).size()) #define FI first #define SE second #define MP make_pair #define PB push_back using namespace std; LL f(LL x){ LL c,s =0; while(x){ c = x%10; x/=10; s+=c*c; } return s; } LL a,b,k,score,r,w; int main(){ scanf("%lld %lld %lld",&k,&a,&b); for(int i=1;i<=2000 && i<=(b/k)+1;++i){ r = k*i; if(r>=a && r<=b){ w = f(r); if(w<=(b/k)+1){ if(k*w==r){ ++score; } } } } printf("%lld\n",score); } |