diff options
Diffstat (limited to 'bigfactors2.c')
-rw-r--r-- | bigfactors2.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/bigfactors2.c b/bigfactors2.c new file mode 100644 index 0000000..97ba17d --- /dev/null +++ b/bigfactors2.c @@ -0,0 +1,31 @@ +#include <stdlib.h> +#include <stdio.h> +#include <math.h> + +int countFactors(int num){ + int factors = 0; + // Check only up until the square root of the number + int root = (int) ceil(sqrt(num)); + //printf("%d\n", root); + for(int i = 2; i < root; i++){ + if(num % i == 0) + factors+=2; + } + // Correction for perfect square + if(root * root == num) + factors -= 1; + return factors; +} + +int main(){ + int i = 1; + int k = 1; + int j = 0; + while(k < 500){ + j += i; + k = countFactors(j); + i += 1; + } + printf("%d has over 500 factors. Neat!\n", j); + return 0; +} |