14 de noviembre de 2013

Special pythagorean triplet - Project Euler, problema 9

Se que para este problema hay soluciones mucho mejores, pero la soulción obvia funciona lo suficientemente bien como para no molestarme, por ahora, en programar una mejor solución.

A Pythagorean triplet is a set of three natural numbers, a < b < c, for which,
a2 + b2 = c2For example, 32 + 42 = 9 + 16 = 25 = 52.
There exists exactly one Pythagorean triplet for which a + b + c = 1000.
Find the product abc.

El código es prácticamente autoexplicativo (búsqueda exhaustiva/bruteforce):

d=1000;
for a=1:500
 for b=1:500
  if a+b+sqrt(a^2+b^2)==d
   prod([a b sqrt(a^2+b^2)])
   return;
  end
 end
end