Gioco dei Fiammiferi

di il
5 risposte

Gioco dei Fiammiferi

Salve a tutti !!!
Potreste aiutarmi ad implementare un algoritmo che risolva il seguente problema:
scrivere un programma che gestisce il gioco dei fiammiferi:da un insieme di N fiammiferi,a turno due giocatori ne tolgono un numero qualunque che vada da 1 a K (dove N e K sono definiti a priori,per esempio N=21 e K=5).Perde chi toglie l'ultimo fiammifero.
Sono proprio bloccato.....non mi viene in mente nulla.

5 Risposte

  • Re: Gioco dei Fiammiferi

    Così non ti si può aiutare. Devi scrivere tu il programma e se hai problemi, chiedi aiuto.
    Suggerimento: parti dall'insieme di fiammiferi, come lo rappresenteresti all'interno del programma? la tua N...
  • Re: Gioco dei Fiammiferi

    Salve!!!
    Ciao Alexv e grazie per la risposta!!!
    Ti riporto lo pseudocodice che ho fatto li per li:
    INIZIO
    chiedi(N)
    leggi(N)
    MENTRE(N>0) ESEGUI
    chiedi(K1)
    leggi(K1)
    N=N-K1
    SE(N<K)
    ALLORA
    scrivi(hai perso)
    FINE SE
    chiedi(K2)
    leggi(K2)
    N=N-K2
    SE(N<K2)
    ALLORA
    scrivi(hai perso)
    FINE SE
    N=N-K2
    RIPETI
    FINE

    dove K1 e K2 sono le variabile per memorizzare il numero di fiammiferi che vogliono prendere,dagli N fiammiferi, il giocatore 1 ed il giocatore 2 rispettivamente.
  • Re: Gioco dei Fiammiferi

    Adesso scrivi il codice e vediamo se il tutto ha un senso
  • Re: Gioco dei Fiammiferi

    Salve!!!
    Ringrazio per prima cosa per l'aiuto.
    Scusate il ritardo nel rispondervi....
    Posto il codice che viene fuori:
    
    #include<stdio.h>
    main()
    {
      int N,K;
      printf("\n Inserire il numero totale dei fiammiferi");
      scanf("%d,&N);
      while(N>0){
                        printf("\nTurno del primo giocatore!!!");
                        printf("\nQuanti fiammiferi si desidera prendere?");
                        scanf("%d,&K);
                        N=N-K;
                        if(N<K)
                                  printf("\n Giocatore1 hai perso!!!);
                         printf("\nTurno del secondo  giocatore!!!);
                         printf("\nQuanti fiammiferi si desidera prendere?");
                         scanf("%d,&K);
                         if(N<K)
                                    printf(Giocatore 2 hai perso!!!);
                          N=N-K;
                       }
    
    
    Ma è pieno di errori.....
    Supponiamo che perda il giocatore 1,comunque entro nel secondo if.............Ufff non lo so
    Poi dovrei fare un controllo sul numero dei fiammiferi inseriti da ciascun giocatore ed questo controllo lo devo fare per ogni inserimento di K.
    Ho usato un'unica variabile K al contrario di quanto postato in precedenza nello pseudocodice.
  • Re: Gioco dei Fiammiferi

    Comunque si scrive [CODE] int main() non [CODE] main() E se riesci ad indentare decentemente il codice non sarebbe male…

    Quello che puoi fare è, se il giocatore 1 perde, uscire dal ciclo con l’istruzione break.

    Per quanto riguarda il controllo, devi inserisce un ciclo do-while e richiedere k finché k (e non K! Quello è il numero massimo di fiammiferi per turno) è maggiore di K o minore-uguale a 0
Devi accedere o registrarti per scrivere nel forum
5 risposte