#include <stdio.h> unsigned int square_digits(unsigned long number) { unsigned int acc = 0; unsigned int last; do { last = number % 10; acc += last * last; number /= 10; } while (number > 0); return acc; } int main() { unsigned long k, a, b; scanf("%lu", &k); scanf("%lu", &a); scanf("%lu", &b); int result = 0; unsigned long i; for(i = a; i < b+1; i++) { if (k * square_digits(i) == i) { result++; } } printf("%d\n", result); 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 | #include <stdio.h> unsigned int square_digits(unsigned long number) { unsigned int acc = 0; unsigned int last; do { last = number % 10; acc += last * last; number /= 10; } while (number > 0); return acc; } int main() { unsigned long k, a, b; scanf("%lu", &k); scanf("%lu", &a); scanf("%lu", &b); int result = 0; unsigned long i; for(i = a; i < b+1; i++) { if (k * square_digits(i) == i) { result++; } } printf("%d\n", result); return 0; } |