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