diff options
| author | Reiner Herrmann <reiner@reiner-h.de> | 2014-08-31 20:21:45 +0200 |
|---|---|---|
| committer | Reiner Herrmann <reiner@reiner-h.de> | 2014-08-31 20:35:09 +0200 |
| commit | 95341b61b030c9e1290f3b326cb7ec584f543aea (patch) | |
| tree | 852386fa04d32eb859bca11c0eff7b5ef9e50f00 /021.c | |
| parent | 571164d977f91925c4c76a292f74f5f93d09ae23 (diff) | |
Diffstat (limited to '021.c')
| -rw-r--r-- | 021.c | 35 |
1 files changed, 35 insertions, 0 deletions
@@ -0,0 +1,35 @@ +#include <math.h> + +int sum_divisors(int number) +{ + int i; + int sum = 1; + int limit = (int) ceil(sqrt(number)); + for(i=2; i<limit; i++) + { + if(number % i == 0) + { + sum += i; + if(number / i != i) + sum += number / i; + } + } + return sum; +} + +int main() +{ + int sum = 0; + int a; + for(a=1; a<10000; a++) + { + int b = sum_divisors(a); + if(a == sum_divisors(b) && a != b) + sum += a; + } + + printf("%d\n", sum); + + return 0; +} + |
