#include<iostream>
using namespace std;
int tab[10]={0,1,4,9,16,25,36,49,64,81};
int fn(unsigned long long a)
{
int b=0;
while (a)
{
b+=tab[a%10];
a/=10;
}
return b;
}
int main()
{
unsigned long long a,b,k,dziel,w;
int suma=0;
cin >> k >> a >> b;
if(a%k==0)dziel=a/k;
else dziel=a/k+1;
w=dziel*k;
while(dziel<=1458 && w<=b)
{
if(fn(w)==dziel)suma++;
w+=k;
dziel++;
}
cout << suma;
}
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 | #include<iostream> using namespace std; int tab[10]={0,1,4,9,16,25,36,49,64,81}; int fn(unsigned long long a) { int b=0; while (a) { b+=tab[a%10]; a/=10; } return b; } int main() { unsigned long long a,b,k,dziel,w; int suma=0; cin >> k >> a >> b; if(a%k==0)dziel=a/k; else dziel=a/k+1; w=dziel*k; while(dziel<=1458 && w<=b) { if(fn(w)==dziel)suma++; w+=k; dziel++; } cout << suma; } |
English