#include<cstdio> int f(long long n) { int wynik=0, c; while(n) { c=n%10; wynik+=c*c; n/=10; } return wynik; } int main() { //printf("%d", f(999999999999999999)); long long a, b, k, d, n, ile=0, p; scanf("%lld%lld%lld", &k, &a, &b); d = a%k; if(!d) n=a; else n=a+k-d; p=1459*k; while (n<=b&&n<p) { if(k*f(n)==n) { ile++; //printf("%lld ", n); } n+=k; } printf("%lld", ile); // int i, j; // for(i=1; i < 500; i++) // { // printf("%d: ", i); // for(j=i; j<1000000; j+=i) // if (i*f(j)==j) // printf("%d ", j); // printf("\n"); // } 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 40 41 42 43 | #include<cstdio> int f(long long n) { int wynik=0, c; while(n) { c=n%10; wynik+=c*c; n/=10; } return wynik; } int main() { //printf("%d", f(999999999999999999)); long long a, b, k, d, n, ile=0, p; scanf("%lld%lld%lld", &k, &a, &b); d = a%k; if(!d) n=a; else n=a+k-d; p=1459*k; while (n<=b&&n<p) { if(k*f(n)==n) { ile++; //printf("%lld ", n); } n+=k; } printf("%lld", ile); // int i, j; // for(i=1; i < 500; i++) // { // printf("%d: ", i); // for(j=i; j<1000000; j+=i) // if (i*f(j)==j) // printf("%d ", j); // printf("\n"); // } return 0; } |