aboutsummaryrefslogtreecommitdiffstats
path: root/09-Special-Pythagorean-Triplet
diff options
context:
space:
mode:
authormjfernez <mjfernez@gmail.com>2020-02-09 17:07:06 -0500
committermjfernez <mjfernez@gmail.com>2020-02-09 17:07:06 -0500
commit3ab32fb2bb35283b74cedd96f961503004e27395 (patch)
tree458a2291668b5d3be403571b7e9808c8937eb76f /09-Special-Pythagorean-Triplet
parentc9a6a1b8a3ec380adaf74f0ce8d650e97e38f474 (diff)
downloadProject_Euler_Solutions-3ab32fb2bb35283b74cedd96f961503004e27395.tar.gz
Added solution for 09 in C
Diffstat (limited to '09-Special-Pythagorean-Triplet')
-rw-r--r--09-Special-Pythagorean-Triplet/.pyth.py.swpbin0 -> 12288 bytes
-rwxr-xr-x09-Special-Pythagorean-Triplet/pythbin0 -> 16704 bytes
-rw-r--r--09-Special-Pythagorean-Triplet/pyth.c24
-rw-r--r--09-Special-Pythagorean-Triplet/pyth.py4
4 files changed, 24 insertions, 4 deletions
diff --git a/09-Special-Pythagorean-Triplet/.pyth.py.swp b/09-Special-Pythagorean-Triplet/.pyth.py.swp
new file mode 100644
index 0000000..73d234c
--- /dev/null
+++ b/09-Special-Pythagorean-Triplet/.pyth.py.swp
Binary files differ
diff --git a/09-Special-Pythagorean-Triplet/pyth b/09-Special-Pythagorean-Triplet/pyth
new file mode 100755
index 0000000..e778cfc
--- /dev/null
+++ b/09-Special-Pythagorean-Triplet/pyth
Binary files differ
diff --git a/09-Special-Pythagorean-Triplet/pyth.c b/09-Special-Pythagorean-Triplet/pyth.c
new file mode 100644
index 0000000..86a12b0
--- /dev/null
+++ b/09-Special-Pythagorean-Triplet/pyth.c
@@ -0,0 +1,24 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+
+/* Actually found a neat math solution to make this one quicker
+ * since (a + b + c) = 1000
+ * and a^2 + b^2 = c^2
+ *
+ * We can say:
+ * c = 1000 - (a + b)
+ * c^2 = (1000 - (a + b))^2
+ * and
+ * a^2 + b^2 = (1000 - (a + b))^2
+ * So you need to find an a and b that satisfy this
+ * We know a and b are less than 500 since c must be larger
+*/
+
+int main(){
+ for(long a = 1; a < 500; a++)
+ for(long b = 1; b < 500; b++)
+ if(pow(a, 2) + pow(b, 2) == pow((1000 - (a + b)), 2))
+ return printf("%d\n", a * b * (long) sqrt(pow(a, 2) + pow(b, 2)));
+ return 1;
+}
diff --git a/09-Special-Pythagorean-Triplet/pyth.py b/09-Special-Pythagorean-Triplet/pyth.py
index a37f026..67c227d 100644
--- a/09-Special-Pythagorean-Triplet/pyth.py
+++ b/09-Special-Pythagorean-Triplet/pyth.py
@@ -5,10 +5,6 @@
# There exists exactly one Pythagorean triplet for which a + b + c = 1000.
# Find the product abc.
-import PIL
-import math
-
-
def isTriple(abc):
if len(abc) > 3:
return False