Q:
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.
R
1st version
a <- 1
b <- 1
while(a < (1000/3))
{
while(b < (1000-a))
{
breakout <- FALSE
if(a^2+b^2==(1000-a-b)^2)
{
p <- a\*b\*(1000-a-b);
break;
breakout <- TRUE;
}
else b <- b+1
}
if(breakout) break
else a < a+1
}
print(p)
2nd version
re <- outer(1:1000,1:1000,function(x,y){return(x^2+y^2==(1000-x-y)^2)})
print(prod(which(re)%%1000))