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