Cita:
Iniciado por Pantaláimon ¡Hola de nuevo!
Y ahora, ¡A petar la pila!
"Güeno" , el primero ( el segundo aún tengo que entenderlo ):
Código C++:
Ver original#include <stdio.h>
int unsigned comb ( unsigned n , unsigned k ) ;
int main ( ) {
printf ( "%u" , comb
( 12 , 5 ) ) ; return 0 ;
}
int unsigned comb ( unsigned n , unsigned k ) {
if ( k > n / 2 )
k = n - k ;
if ( k >= 1 ) return ( n * comb ( n - 1 , k - 1 ) / k ) ;
else
return 1;
}
Observar que aprovecho las propiedades de los números combinatorios y así si piden como ( 25 , 20 ) calculo su equivalente comb ( 25 , 5 ) que realiza menos operaciones.
¡¡¡Saluditos!!!