aboutsummaryrefslogtreecommitdiff
path: root/c/012-highly_divisible_triangular_number.c
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2019-08-11 22:41:34 +0200
committerCharles <sircharlesaze@gmail.com>2019-08-11 22:41:34 +0200
commit1879caa1dd80cb11dd62403663917ad4bf7cc68e (patch)
treeea41c6dd83a9f9bbfe0a891237674342de92d533 /c/012-highly_divisible_triangular_number.c
parent6b16d921543a62d880171791d39bcc58560785fa (diff)
downloadproject_euler-1879caa1dd80cb11dd62403663917ad4bf7cc68e.tar.gz
project_euler-1879caa1dd80cb11dd62403663917ad4bf7cc68e.tar.bz2
project_euler-1879caa1dd80cb11dd62403663917ad4bf7cc68e.zip
rename all file with 3 zero padding
Diffstat (limited to 'c/012-highly_divisible_triangular_number.c')
-rw-r--r--c/012-highly_divisible_triangular_number.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/c/012-highly_divisible_triangular_number.c b/c/012-highly_divisible_triangular_number.c
new file mode 100644
index 0000000..4ece373
--- /dev/null
+++ b/c/012-highly_divisible_triangular_number.c
@@ -0,0 +1,35 @@
+#include <stdio.h>
+#include <math.h>
+
+
+int triangle_number(int nb)
+{
+ int i, sum = 0;
+ for (i = 0; i < nb + 1; i++)
+ sum += i;
+ return sum;
+}
+
+int count_divisors(int nb)
+{
+ int i, div_nb = 0;
+ for (i = 1; i <= sqrt(nb); i++) {
+ if (nb % i == 0)
+ div_nb += (i != nb / i ? 2 : 1);
+ }
+ return div_nb;
+}
+
+int main(void)
+{
+ int i, t_nb;
+
+ for (i = 0;; i++) {
+ t_nb = triangle_number(i);
+ if (count_divisors(t_nb) + 2 > 500)
+ break;
+ }
+ printf("%d", t_nb);
+
+ return 0;
+}