24/10/13 AdF.ly - shrink your URLs and get paid! 8 Algoritmo Gioco dell'11 Realizzare un algoritmo che permetta di giocare col computer al gioco dell'11. Il gioco dell'11 ha le seguenti regole: il gioco comincia con 11 fiammiferi disposti su un tavolo i due giocatori prelevano alternativamente un numero di fiammiferi compreso tra 1 e 3. Vince il giocatore che costringe l'avversario a prelevare l'ultimo fiammifero. Analisi Si ipotizza che sia il computer a vincere, quindi a fare la prima mossa mentre l'avversario è chi gioca col computer. Dati I O lavoro mu fiammiferi prelevati n fiammiferi presenti sul tavolo mc mossa del computer "hai perso" Relazione I/O La strategia vincente può essere riassunta come segue: prelevare 2 fiammiferi e poi, in base alla mossa dell'avversario, togliere sempre un numero di fiammiferi pari a 4 meno quelli tolti dal rivale. Pseudo codifica n = 11 mc=2 Scrivi mc n =n – mc scrivi fiammiferi ripeti finchè (n> 1) leggi mu n = n – a scrivi n mc = 4 ­ mu scrivi mc n= n – mc scrivi n scrivi hai perso adf.ly/5350860/banner/http://zerocrise.com/informatica/algoritmi/iteratore/49-gioco-dell-11.html 1/2 24/10/13 AdF.ly - shrink your URLs and get paid! adf.ly/5350860/banner/http://zerocrise.com/informatica/algoritmi/iteratore/49-gioco-dell-11.html 2/2 main.cpp // // // // // // // 24/10/13 11:13 main.cpp gioco dell 11 Created by Rolando Succo on 24/10/13. Copyright (c) 2013 zerocrise. All rights reserved. #include <iostream> using namespace std; int main(int argc, const char * argv[]) { int n,mu,mc; cout << "Gioco dell 11\n"; n =11; mc=2; cout << "fiammiferi presenti "<<n; n=n-mc; cout << "\nmossa del computer "<<mc; cout << "\nfiammiferi presenti "<<n; do{ cout << "\nFai la tua mossa "; cin>>mu; n=n-mu; cout << "fiammiferi presenti "<<n; mc=4-mu; n=n-mc; cout << "\nmossa del computer "<<mc; cout << "\nfiammiferi presenti "<<n; }while(n>1); cout << "\nhai perso\n"; return 0; } Page 1 of 1