diff options
| -rw-r--r-- | src/projecteuler/039.c | 37 | ||||
| -rw-r--r-- | src/projecteuler/039.py | 21 |
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 + |
