Programa que encuentra todas las ternas pitagóricas que sumen un número escogido, en particular resuelve el Problema 9 del Proyecto de Euler
De Software Libre para la Enseñanza y el Aprendizaje de las Matemáticas (2010-11)
Revisión del 13:41 4 may 2011 de Rafgaljim (discusión | contribuciones)
Este programa encuentra todas las ternas pitagóricas que sumen un número escogido, en particular resuelve el Problema 9 del Proyecto de Euler. Si queremos buscar las ternas pitagoricas (a,b,c) tales que sumen 1000, bastará con ejecutar la función pitag(1000), si queremos que sumen 1500 escribimos pitag(1500), etc.
ENUNCIADO
Hallar todas las ternas pitagóricas (a,b,c) tales que al sumar a+b+c obtengamos el número que queramos.
SOLUCIÓN
pitag(s):=block([a,b,c], for a from 3 thru ((s-3)/3) do (for b from (a+1) thru ((s-1-a)/2) do (c:s-a-b, if (c^2)=(a^2+b^2) then ((print("La terna pitagórica a=",a,", b=",b,", c=",c,"cumple que a+b+c=",s))) )));
EJEMPLOS
Si, por ejemplo, quiero que busque aquellas ternas pitagóricas cuyos miembros sumen 1500:
(%i4)pitag(1500); La terna pitagórica a=250, b=600, c=650 cumple que a+b+c=1500 La terna pitagórica a=375, b=500, c=625 cumple que a+b+c=1500 (%o4) done
En particular, si queremos resolver el problema 9 del proyecto de Euler:
(%i5)pitag(1000); La terna pitagórica a=200, b=375, c=425 cumple que a+b+c=1000 (%o5) done