#include <cstdio> int f(long long n){ int ret=0; while(n){ int md=n%10; ret+=md*md; n/=10; } return ret; } int main(){ long long k,a,b; scanf("%lld %lld %lld\n",&k,&a,&b); int cnt=0; for(long long y=1;y<2000;y++){ long long n=k*y; if(k==n/y && k*f(n) == n && a<=n && n<=b){ cnt++; } } printf("%d\n",cnt); }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include <cstdio> int f(long long n){ int ret=0; while(n){ int md=n%10; ret+=md*md; n/=10; } return ret; } int main(){ long long k,a,b; scanf("%lld %lld %lld\n",&k,&a,&b); int cnt=0; for(long long y=1;y<2000;y++){ long long n=k*y; if(k==n/y && k*f(n) == n && a<=n && n<=b){ cnt++; } } printf("%d\n",cnt); } |