Función:
public int combinatoria( int n , int r ){ if( r == 0 || r == n) return 1; if( r > n) return 0; int a , b; a = combinatoria ( n - 1 , r -1 ); b = combinatoria ( n - 1 , r ); return a + b; }
Código:
public class Main { public static void main(String arg[]){ Algoritmos a = new Algoritmos(); int res; res = a.combinatoria( 5 , 3 ); String s="La combinatoria de 5 y 3 es :"; System.out.println(s); System.out.println(res); } } class Algoritmos{ public int combinatoria( int n , int r ){ if( r == 0 || r == n) return 1; if( r > n) return 0; int a , b; a = combinatoria ( n - 1 , r -1 ); b = combinatoria ( n - 1 , r ); return a + b; } }
Salida:
La combinatoria de 5 y 3 es : 10Combinaciones en forma recursiva