summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReiner Herrmann <reiner@reiner-h.de>2010-06-20 14:26:16 +0200
committerReiner Herrmann <reiner@reiner-h.de>2014-08-31 20:32:41 +0200
commit1e00032ef9706b7b85f157a404ad9cf5838df689 (patch)
treef852b0d95e7120590d51f26ffdf637740e50b4f1
parentb3935a27c39dbeb8e4e491430b2793f1aaf70126 (diff)
projecteuler solution 39
-rw-r--r--src/projecteuler/039.c37
-rw-r--r--src/projecteuler/039.py21
2 files changed, 58 insertions, 0 deletions
diff --git a/src/projecteuler/039.c b/src/projecteuler/039.c
new file mode 100644
index 0000000..202df6c
--- /dev/null
+++ b/src/projecteuler/039.c
@@ -0,0 +1,37 @@
+
+int solutions(int p)
+{
+ int solution = 0;
+ int a, b, c;
+
+ for(a=0; a<p/2; a++)
+ for(b=0; b<p-a; b++)
+ {
+ c = p - a - b;
+ if(a*a + b*b == c*c)
+ solution++;
+ }
+ return solution;
+}
+
+int main()
+{
+ int max_solutions = 0;
+ int max_p = 0;
+ int p;
+
+ for(p=3; p<=1000; p++)
+ {
+ int n = solutions(p);
+ if(n > max_solutions)
+ {
+ max_solutions = n;
+ max_p = p;
+ }
+ }
+
+ printf("%d\n", max_p);
+
+ return 0;
+}
+
diff --git a/src/projecteuler/039.py b/src/projecteuler/039.py
new file mode 100644
index 0000000..6a6bd0b
--- /dev/null
+++ b/src/projecteuler/039.py
@@ -0,0 +1,21 @@
+
+def solutions(p):
+ solution = 0
+ for a in xrange(1, p/2):
+ for b in xrange(a, p-a):
+ c = p - a - b
+ if a*a + b*b == c*c:
+ solution += 1
+ return solution
+
+max_solutions = 0
+max_p = 0
+
+for p in xrange(3, 1000):
+ n = solutions(p)
+ if n > max_solutions:
+ max_solutions = n
+ max_p = p
+
+print max_p
+