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 /012.c | |
| parent | 571164d977f91925c4c76a292f74f5f93d09ae23 (diff) | |
Diffstat (limited to '012.c')
| -rw-r--r-- | 012.c | 37 |
1 files changed, 37 insertions, 0 deletions
@@ -0,0 +1,37 @@ +#include <math.h> + +int count_divisors(unsigned int triangle) +{ + unsigned int i; + int count = 2; + int limit = (int) ceil(sqrt(triangle)); + for(i=2; i<limit; i++) + { + if(triangle % i == 0) + { + if(triangle / i == i) + count++; + else + count += 2; + } + } + return count; +} + +int main() +{ + unsigned int triangle = 0; + int divisors = 0; + int count = 1; + + do + { + triangle += count++; + divisors = count_divisors(triangle); + } while(divisors <= 500); + + printf("%d\n", triangle); + + return 0; +} + |
