
Patrick B. answered 08/07/20
Math and computer tutor/teacher
using namespace std;
#include <iostream>
#include <stdlib.h>
int Go( int numCoins, bool player)
{
char ch = (player) ? '1' : '2';
cout << numCoins << " coins remain " << endl;
cout << "******************************************" << endl;
if ((numCoins==4) || (numCoins==2) || (numCoins==1))
{
cout << " Player " << ch << " wins with " << numCoins << endl;
cout << "*****************************************************" << endl;
}
else
{
if (numCoins>1)
{
cout << " Player " << ch << " takes 1 coin " << endl;
Go(numCoins-1,!player);
}
if (numCoins>2)
{
cout <<" Player " << ch << " takes 2 coins " << endl;
Go(numCoins-2,!player);
}
if (numCoins>4)
{
cout << "Player " << ch << " takes 4 coins " << endl;
Go(numCoins-4,!player);
}
}
}
int main(int argc, char * argv[])
{
int numCoins=-1;
if (argc==0)
{
while ((numCoins<0) || (numCoins>30))
{
cout << " How many coins ??? :>";
cin >> numCoins;
}
}
numCoins = atoi(argv[1]);
Go(numCoins,true);
}