9. 四人玩火柴棍游戏,每一次都是三个人赢,一个人输。输的人要按赢者手中的火柴
数进行赔偿,即赢者手中有多少根火柴棍,输者就赔偿多少根。现知道玩过四次后,
每人恰好输过一次, 而且每人手中都正好有16根火柴。问此四人做游戏前手中各有
多少根火柴? 编程解决此问题。
思路:总数是16跟,利用4次循环,每次都是一个人给另3个人
最后可以求出结果
#include <stdio.h>
#define N 4
int main()
{
int i;
int A[N]={16,16,16,16};
for(i=0;i<4;i++)
{
if(0==i)
{
A[1] /=2;
A[2] /=2;
A[3] /=2;
A[0] +=(A[1]+A[2]+A[3]);
}
else if(1==i)
{
A[0] /=2;
A[2] /=2;
A[3] /=2;
A[1] +=(A[0]+A[2]+A[3]);
}
else if(2==i)
{
A[0] /=2;
A[1] /=2;
A[3] /=2;
A[2] +=(A[0]+A[1]+A[3]);
}
else if(3==i)
{
A[0] /=2;
A[1] /=2;
A[2] /=2;
A[3] +=(A[0]+A[1]+A[2]);
}
}
for(i=0;i<4;i++)
printf("%d ",A[i]);
printf("/n");
return 0;
}