summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xproblem1/a.outbin0 -> 13584 bytes
-rw-r--r--problem1/problem1.c14
-rwxr-xr-xproblem2/a.outbin0 -> 13536 bytes
-rw-r--r--problem2/problem2.c20
-rwxr-xr-xproblem3/a.outbin0 -> 13704 bytes
-rw-r--r--problem3/problem3.c25
6 files changed, 59 insertions, 0 deletions
diff --git a/problem1/a.out b/problem1/a.out
new file mode 100755
index 0000000..8d5fd6e
--- /dev/null
+++ b/problem1/a.out
Binary files differ
diff --git a/problem1/problem1.c b/problem1/problem1.c
new file mode 100644
index 0000000..a2aad3d
--- /dev/null
+++ b/problem1/problem1.c
@@ -0,0 +1,14 @@
+/*
+ If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23. Find the sum of all the multiples of 3 or 5 below 1000. */
+
+#include <stdio.h>
+
+int main() {
+ unsigned int sum;
+ for (int i = 1; i < 1000; i++) {
+ if (i % 3 == 0 || i % 5 == 0) {
+ sum += i;
+ }
+ }
+ printf("%u\n", sum);
+}
diff --git a/problem2/a.out b/problem2/a.out
new file mode 100755
index 0000000..dff8845
--- /dev/null
+++ b/problem2/a.out
Binary files differ
diff --git a/problem2/problem2.c b/problem2/problem2.c
new file mode 100644
index 0000000..1fa0997
--- /dev/null
+++ b/problem2/problem2.c
@@ -0,0 +1,20 @@
+/*
+ Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms.
+*/
+
+#include <stdio.h>
+
+int main() {
+ unsigned int l = 1;
+ unsigned int h = 2;
+ unsigned long int sum = 0;
+ while (h < 40000000) {
+ if (h % 2 == 0) {
+ sum += h;
+ }
+ unsigned int t = h;
+ h += l;
+ l = t;
+ }
+ printf("%ul\n", sum);
+}
diff --git a/problem3/a.out b/problem3/a.out
new file mode 100755
index 0000000..9269f34
--- /dev/null
+++ b/problem3/a.out
Binary files differ
diff --git a/problem3/problem3.c b/problem3/problem3.c
new file mode 100644
index 0000000..9b9756c
--- /dev/null
+++ b/problem3/problem3.c
@@ -0,0 +1,25 @@
+/*
+ The prime factors of 13195 are 5, 7, 13 and 29. What is the largest prime factor of the number 600851475143 ?
+*/
+
+#include <stdio.h>
+
+char is_prime(unsigned long long int n) {
+ for (unsigned long long int i = 2; i < n; i++) {
+ if (n % i == 0) {
+ return 0;
+ }
+ }
+ return 1;
+}
+
+int main() {
+ unsigned long long int c = 600851475143;
+ for (unsigned long long int i = c / 2; i--; i >= 0) {
+ printf("%llu\n", i);
+ if (is_prime(i)) {
+ printf("%llu\n", i);
+ break;
+ }
+ }
+}