#include <cstdio>
long long f(long long x)
{
int s=0, d;
do
{
d=x%10;
s=s+d*d;
x=x/10;
}
while(x>0);
return (long long)s;
}
int main ()
{
long long k, a, b, j, i,l=0, z, r;
scanf("%lld %lld %lld", &k, &a, &b );
r=a%k;
if(r>0)
{
z=k-r;
a=a+k-r;
}
if(b>k*(18*81+1))
b=k*(18*81);
for(i=a;i<=b;i=i+k)
{
if(f(i)*k==i)
{
l++;
}
}
printf("%lld", l);
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 | #include <cstdio> long long f(long long x) { int s=0, d; do { d=x%10; s=s+d*d; x=x/10; } while(x>0); return (long long)s; } int main () { long long k, a, b, j, i,l=0, z, r; scanf("%lld %lld %lld", &k, &a, &b ); r=a%k; if(r>0) { z=k-r; a=a+k-r; } if(b>k*(18*81+1)) b=k*(18*81); for(i=a;i<=b;i=i+k) { if(f(i)*k==i) { l++; } } printf("%lld", l); return 0; } |
English