Problem:
A Pythagorean triplet is a set of three natural numbers, a [<] b [<] c, for which,
a2 + b2 = c2
For example, 32 + 42 = 9 + 16 = 25 = 52.
There exists exactly one Pythagorean triplet for which a + b + c = 1000.
Find the product abc.
Solution:
31875000
Code:
The solution may include methods that will be found here: Library.java .
public interface EulerSolution{ public String run(); }
/* * Solution to Project Euler problem 9 * By Nayuki Minase * * http://nayuki.eigenstate.org/page/project-euler-solutions * https://github.com/nayuki/Project-Euler-solutions */ public final class p009 implements EulerSolution { public static void main(String[] args) { System.out.println(new p009().run()); } public String run() { for (int a = 1; a < 1000; a++) { for (int b = a + 1; b < 1000; b++) { int c = 1000 - a - b; if (a * a + b * b == c * c) // Note: This implies b < c return Integer.toString(a * b * c); } } throw new AssertionError("Not found"); } }
No comments :
Post a Comment