#include <iostream> #include <cmath> using namespace std; long long k,a,b,n,t,v,q,kw,m; int tab[10]; int main() { for (int i=0; i<10; i++) { tab[i]=pow(i,2); } cin>>k>>a>>b; n=a; t=a/k; t++; n=k*t; do { t=log10(n); q=n; kw=0; if(k*81*t>=n) { for (int i=t; i>=0; i--) { v=q/pow(10,i); q=q-(v*pow(10,i)); kw+=tab[v]; if(k*kw>n) break; } if(k*kw==n) m++; } n+=k; } while(n<=b); cout<<m; 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 40 41 42 | #include <iostream> #include <cmath> using namespace std; long long k,a,b,n,t,v,q,kw,m; int tab[10]; int main() { for (int i=0; i<10; i++) { tab[i]=pow(i,2); } cin>>k>>a>>b; n=a; t=a/k; t++; n=k*t; do { t=log10(n); q=n; kw=0; if(k*81*t>=n) { for (int i=t; i>=0; i--) { v=q/pow(10,i); q=q-(v*pow(10,i)); kw+=tab[v]; if(k*kw>n) break; } if(k*kw==n) m++; } n+=k; } while(n<=b); cout<<m; return 0; } |