某幼儿园里,有5个小朋友围成一圈,他们的编号为1、2、3、4、5.他们身上都有若干个糖果,现在他们做一个分糖果游戏。从1号小朋友开始,将自己的糖果均分三份(如果有多余的糖果,则立即吃掉),自己留一份,其余两份分给他相邻的两个小朋友。接着2号、3号、4号、5号小朋友同样这么做。问一轮后,每个小朋友手上分别有多少糖果?
#include<iostream>
using namespace std;
int ctrl(int x)
{
switch (x)
{
case -1:return 4; break;
case 0:return 0; break;
case 1:return 1; break;
case 2:return 2; break;
case 3:return 3; break;
case 4:return 4; break;
case 5:return 0; break;
}
}
int main()
{
int a[5], i, p, q, t;
for (i = 0; i<5; i++)
cin >> a[i];
for (i = 0; i<5; i++)
{
p = i - 1;
p=ctrl(p);
q = i + 1;
q=ctrl(q);
t = a[i] % 3;
a[i] = a[i] - t;
a[i] = a[i] / 3;
a[p] = a[p] + a[i];
a[q] = a[q] + a[i];
}
for (i = 0; i<5; i++)
cout << a[i] << " ";
system("pause");
return 0;
}