Blog gratis
Reportar
Editar
¡Crea tu blog!
Compartir
¡Sorpréndeme!
Programación 1
¡Bienvenidos a nuestro Blog! Espero puedan disfrutarlo y aprender. Este será un contacto que podrá superar los límites de tiempo de las horas de clase: aprovéchenlo para construir algo nuevo.
22 de Octubre, 2015    Trabajos de entrenamiento

Juego de Nim

                                          Juego de Nim                
El juego consiste en ir retirando palillos de un montón.               
Pierde el jugador que se ve obligado a retirar el último palillo. 
















/* Estrategia:                                                             */
/*            Siempre que sea el turno del ordenador, éste jugará si puede */
/* de tal modo que queden (MAX_JUGADA+1) * N + 1 palillos en el montón; si */
/* no le es posible, retira un único palillo del montón.                   */
/*                                                                         */
/* MAX_JUGADA = Número máximo de palillos que puede retirar un jugador del */
/*    montón en una única jugada.                                          */
/* ----------------------------------------------------------------------- */
 
#include <stdlib.h>
#include <stdio.h>
 
 
// Constantes
 
#define MAX_JUGADA   3
#define MIN_PALILLOS 5
 
// Programa principal
 
int main (void)
{
  int MaxJugada;
  int NumPalillos;
  int jugada;
  int Y;
 
  printf(" EL JUEGO DE NIM ");
 
  do {
    printf ("Nmero de palillos (m¡nimo %d): ", MIN_PALILLOS);
    scanf("%d", &NumPalillos);
  } while (NumPalillos<MIN_PALILLOS);
 
  do {
    printf ("M xima jugada posible (1..%d): ", NumPalillos);
    scanf("%d", &MaxJugada);
  } while (MaxJugada<=1 || MaxJugada>=NumPalillos);
 
  printf (" Quedan %d palillos en el montn. ",NumPalillos);
 
  while (NumPalillos>1) {
 
    do {
       printf("š Cu ntos palillos desea retirar del montn (de 1 a %d)? ", MaxJugada);
       scanf("%d", &jugada);
    } while (jugada<=0 || jugada>MaxJugada);
 
    NumPalillos -= jugada;
 
 
    if (NumPalillos<1) {
       printf (" Jugada incorrecta, podr¡a haber ganado. ");
 
    } else if (NumPalillos==1) {
 
       printf (" ­ Enhorabuena ! Ha ganado la partida. ");
 
    }else {
 
       /* ------------------------------------------------------------ */
       /*  Estrategia seguida por el programa                          */
       /* ------------------------------------------------------------ */
 
       jugada = NumPalillos%(MaxJugada+1);
 
       if (!jugada)
          jugada = MaxJugada;
       else if (jugada>1)
          jugada --;
 
       printf("Quedan %d palillos. ",NumPalillos);
 
       if (jugada>1)
          printf ("Yo retiro %d palillos. ",jugada);
       else
          printf ("Yo retiro un palillo. ");
 
       NumPalillos -= jugada;
 
       if (NumPalillos==1) {
          printf (" Lo siento, ha perdido esta partida. ");
       } else {
          printf ("Por lo tanto, quedan %d palillos. ",NumPalillos);
       }
    }
  }
 
  return 0;
}
Palabras claves , ,
publicado por mariof2005 a las 22:28 · Sin comentarios  ·  Recomendar
 
Más sobre este tema ·  Participar
Comentarios (0) ·  Enviar comentario
Esta entrada no admite comentarios.
SOBRE MÍ
FOTO

Héctor Mario Freschinaldi

Mail: backupenviotrabajos@gmail.com
En AS.: 2021JVG PROG1 LUNES TT (su nombre y apellido)

En un mundo donde los cambios se suceden vertiginosamente, incluso los tecnológicos, es menester asimilar las nuevas tecnologías para su aplicación inmediata y su proyección a futuro.

» Ver perfil

CALENDARIO
Ver mes anterior Abril 2024 Ver mes siguiente
DOLUMAMIJUVISA
123456
78910111213
14151617181920
21222324252627
282930
TÓPICOS
» COMUNICADOS (4)
» EVALUACIONES (3)
» Información Tecnológica (86)
» LENGUAJE C (23)
» PROGRAMA (2)
» TEORIA (11)
» Trabajos de entrenamiento (8)
» TRABAJOS PR ÁCTICOS (5)
SECCIONES
» Inicio
ENLACES
» ¿Hay seguridad en lo que ponés en la WEB?
» ¡Te estoy espìando! (y colaborás conmigo)
» Los peligros de la WEB
» Otra de Facebook
» Historias del CHAT
» 1984/George Orwell
» Revistas de Informática, Tecnica y Nuevas Tecnolog
MÁS LEÍDOS
» 07 Elementos léxicos del lenguaje de programación C
» 1. Algoritmos.
» 10 aplicaciones útiles para llevar a todos lados 10 en un pendrive
» CODE BLOCKS no compila Posibles causas
» Ejemplo de lenguaje C - Menú de opciones
» METODOS DE ORDENAMIENTO
» Pseudocódigo
» 2021RESPUESTA A LOS DISTINTOS TEMAS DE LAS PREGUNTAS AL PARCIAL VIRTUAL DOMICILIARIO Y RECUPERATORIOS
» Seguridad en el aire
» TEORIA EN PDF
NUBE DE TAGS  [?]
AL MARGEN
¡Bienvenidos!
Este será un canal de comunicación entre nosotros.
Tendrá diferentes instancias dinamizadoras, y utilidades para trabajar los diferentes trabajos prácticos en diversas modalidades.
BUSCADOR
Blog   Web
SE COMENTA...
» Seguridad en el aire
2 Comentarios: uk vpn, uk vpn
FULLServices Network | Crear blog | Privacidad