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