#include <iostream>
#include <math.h>
using namespace std;
int main()
{
unsigned long long k,a,b,n,wynik;
short cyfra,na_pewno_nie;
short kwadraty_cyfr[] = {0,1,4,9,16,25,36,49,64,81};
unsigned long long suma_kwadratow_cyfr,suma_kwadratow_cyfr_granica;
cin >> k;
cin >> a;
cin >> b;
wynik=0;
for (unsigned long long int i = a; i <=b; i++)
{
n=i;
suma_kwadratow_cyfr=0;
suma_kwadratow_cyfr_granica=(i/k)+1;
na_pewno_nie=0;
for(n=i; n>0; n=n/10)
{
cyfra=n%10;
suma_kwadratow_cyfr=suma_kwadratow_cyfr+kwadraty_cyfr[cyfra];
if(suma_kwadratow_cyfr>suma_kwadratow_cyfr_granica)
{
na_pewno_nie=1;
break;
}
}
if(na_pewno_nie==0 && i==suma_kwadratow_cyfr*k) wynik++;
}
cout << wynik;
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 | #include <iostream> #include <math.h> using namespace std; int main() { unsigned long long k,a,b,n,wynik; short cyfra,na_pewno_nie; short kwadraty_cyfr[] = {0,1,4,9,16,25,36,49,64,81}; unsigned long long suma_kwadratow_cyfr,suma_kwadratow_cyfr_granica; cin >> k; cin >> a; cin >> b; wynik=0; for (unsigned long long int i = a; i <=b; i++) { n=i; suma_kwadratow_cyfr=0; suma_kwadratow_cyfr_granica=(i/k)+1; na_pewno_nie=0; for(n=i; n>0; n=n/10) { cyfra=n%10; suma_kwadratow_cyfr=suma_kwadratow_cyfr+kwadraty_cyfr[cyfra]; if(suma_kwadratow_cyfr>suma_kwadratow_cyfr_granica) { na_pewno_nie=1; break; } } if(na_pewno_nie==0 && i==suma_kwadratow_cyfr*k) wynik++; } cout << wynik; return 0; } |
English