// Author: Kamil Nizinski #include <cstdlib> #include <cstdio> #include <iostream> #include <vector> #include <queue> #include <algorithm> #include <cstring> #include <math.h> #define debug(fmt,...) fprintf(stderr,fmt, ## __VA_ARGS__) #define mp make_pair #define ft first #define sd second #define psb push_back #define ppb pop_back using namespace std; typedef long long int ll; typedef long long unsigned llu; typedef double dd; int main() { ll k,a,b; scanf("%lld%lld%lld",&k,&a,&b); int f_n,ans=0; for(f_n=1;f_n<=1458 && k*f_n <= b;f_n++) { ll cand=k*f_n; if(cand < a) continue; int sqSum=0; while(cand>0ll) { int x=(int)(cand%10ll); cand/=10ll; sqSum+=x*x; } if(sqSum==f_n) ans++; } printf("%d\n",ans); 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 31 32 33 34 35 36 37 38 39 | // Author: Kamil Nizinski #include <cstdlib> #include <cstdio> #include <iostream> #include <vector> #include <queue> #include <algorithm> #include <cstring> #include <math.h> #define debug(fmt,...) fprintf(stderr,fmt, ## __VA_ARGS__) #define mp make_pair #define ft first #define sd second #define psb push_back #define ppb pop_back using namespace std; typedef long long int ll; typedef long long unsigned llu; typedef double dd; int main() { ll k,a,b; scanf("%lld%lld%lld",&k,&a,&b); int f_n,ans=0; for(f_n=1;f_n<=1458 && k*f_n <= b;f_n++) { ll cand=k*f_n; if(cand < a) continue; int sqSum=0; while(cand>0ll) { int x=(int)(cand%10ll); cand/=10ll; sqSum+=x*x; } if(sqSum==f_n) ans++; } printf("%d\n",ans); return 0; } |