#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; } |