#include <cstdio>
long long suma_kwadratow(long long n){
long long wynik = 0;
while(n){
int p = n % 10;
wynik += (p*p);
n/=10;
}
return wynik;
}
long long znajdz(long long w, long long p, long long k){
for(long long i = p; i<=k; i++) if(i%w == 0) return i;
return 0;
}
int main() {
long long p, k, wspolczynnik, wynik = 0;
scanf("%lld%lld%lld", &wspolczynnik, &p, &k);
long long pocz = znajdz(wspolczynnik, p, k);
for(long long i = pocz; i<=k; i += wspolczynnik) if( (suma_kwadratow(i) * wspolczynnik) == i ) wynik++;
printf("%lld\n", 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 39 | #include <cstdio> long long suma_kwadratow(long long n){ long long wynik = 0; while(n){ int p = n % 10; wynik += (p*p); n/=10; } return wynik; } long long znajdz(long long w, long long p, long long k){ for(long long i = p; i<=k; i++) if(i%w == 0) return i; return 0; } int main() { long long p, k, wspolczynnik, wynik = 0; scanf("%lld%lld%lld", &wspolczynnik, &p, &k); long long pocz = znajdz(wspolczynnik, p, k); for(long long i = pocz; i<=k; i += wspolczynnik) if( (suma_kwadratow(i) * wspolczynnik) == i ) wynik++; printf("%lld\n", wynik); return 0; } |
English