Ver Mensaje Individual
  #527 (permalink)  
Antiguo 23/12/2011, 02:38
Avatar de Eleazan
Eleazan
 
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años, 7 meses
Puntos: 326
Respuesta: Competencias PHP

Cita:
Iniciado por jorgelpadronb Ver Mensaje
Hola a todos. Será que puedo plantear un desafío? Este va para los novatos. Los mas viejos ... perdón ... los mas experimentados, por favor no sean abusadores, que esto es un pastelito para ustedes. Dejen que los novatos se rompan el coco.

Resulta que estás programando un sitio web para efectuar torneos de ajedrez online. Ahora tienes que programar una función para calcular la cantidad de partidas necesarias para efectuar un torneo, a partir de los siguientes datos:

1)- Tienes la cantidad de jugadores que van a participar.
2)- Cada jugador debe jugar con todos los restantes sin que se repitan las parejas de jugadores.

Ejemplo:

Para 3 jugadores:

Jugador 1
Jugador 2
Jugador 3

Las partidas serían:

1 con 2
2 con 3
3 con 1

3 partidas en total.

Pueden haber muchas soluciones, pero gana la mas optimizada y sencilla.

Saludos.
¿Sólo el total de partidas?
Código PHP:

echo total_partidas(3); //3
echo total_partidas(4); //6
echo total_partidas(6); //15
echo total_partidas(128); //8128

function total_partidas($n) { return ($n*($n-1))/2; } 
Es combinatoria sencilla... sólo es aplicar una fórmula matemática
__________________
>> Eleazan's Source
>> @Eleazan