Recursividad
Enviado por malgut18 • 13 de Octubre de 2014 • 336 Palabras (2 Páginas) • 180 Visitas
/**
* entrega la lista de triplas de numeros pitagoricos
* menores a k. Se llama una tripla de numeros pitagoricos
* si ellos representan los lados de un triangulo
* rectangulo. Para allar estos tres numeros se
* utilizan las siguentes relaciones:
* a = m*m - n*n
* b = 2*m*n
* c = m*m + n*n
*
* @author MLBC
* @version 08.08.09
*/
import java.util.ArrayList;
public class NrosPitagoricos
{
public void triplas(int k)
{
mostrar(triplas(2,1,k));
}
public ArrayList<Tripla> triplas(int m, int n, int k)
{
ArrayList<Tripla> res = new ArrayList<Tripla>();
if(m < Math.sqrt(k))
if(n < m)
if( m*m + n*n < k)
{
res = triplas(m, n+1, k);
res.add(new Tripla(m, n));
}
else
res = triplas(m, n+1, k);
else
res = triplas(m+1, 1, k);
return res;
}
public void mostrar(ArrayList<Tripla> res)
{
for(Tripla t: res)
System.out.println(t);
}
}
...