#include <stdio.h>
int w[10] = {0,1,4,9,16,25,36,49,64,81};
int main(void)
{
unsigned long long k,a,b;
unsigned long long max = 1458,l,s,x;
int i=0;
scanf("%llu %llu %llu",&k,&a,&b);
if(b/k <= max)
{
max = b;
} else {
max *=k;
}
l = (a%k)?(a/k+1)*k:a;
while(l<=max)
{
//kwadraty
x=l;
s=0;
while(x)
{
s+=w[x%10];
x/=10;
}
if(s*k == l)++i;
l+=k;
}
printf("%d\n",i);
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 | #include <stdio.h> int w[10] = {0,1,4,9,16,25,36,49,64,81}; int main(void) { unsigned long long k,a,b; unsigned long long max = 1458,l,s,x; int i=0; scanf("%llu %llu %llu",&k,&a,&b); if(b/k <= max) { max = b; } else { max *=k; } l = (a%k)?(a/k+1)*k:a; while(l<=max) { //kwadraty x=l; s=0; while(x) { s+=w[x%10]; x/=10; } if(s*k == l)++i; l+=k; } printf("%d\n",i); return 0; } |
English