// 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; } |
English