一本通 例2.17 分糖果

某幼儿园里,有5个小朋友编号为1、2、3、4、5,他们按自己的编号顺序围坐在一张圆桌旁。他们身上都有若干个糖果(键盘输入),现在他们做一个分糖果游戏。从1号小朋友开始,将自己的糖果均分三份(如果有多余的糖果,则立即吃掉),自己留一份,其余两份分给他的相邻的两个小朋友。接着2号,3号、4号、5号小朋友同样这么做。问一轮后,每个小朋友手上分别有多少糖果?

输入

一行,5位小朋友的糖果数。

输出

输出5个小朋友最后手上的糖果数,按5位宽度输出


 

#include<bits/stdc++.h>

int kid[5],temp;

int main()
{
for(int i=0;i<=4;++i)
{
std::cin>>kid[i];  //读入每位小朋友原来手里的糖数
}


//对每一位小朋友的分糖过程进行模拟

 

temp=kid[0]/3;
kid[4]+=temp;
kid[1]+=temp;
kid[0]=temp;

temp=kid[1]/3;
kid[0]+=temp;
kid[2]+=temp;
kid[1]=temp;

temp=kid[2]/3;
kid[1]+=temp;
kid[3]+=temp;
kid[2]=temp;

temp=kid[3]/3;
kid[2]+=temp;
kid[4]+=temp;
kid[3]=temp;

temp=kid[4]/3;
kid[3]+=temp;
kid[0]+=temp;
kid[4]=temp;

for(int i=0;i<=4;++i)
{
printf("%5d",kid[i]);  //输出

}

return 0;
}

posted @ 2022-08-13 08:27  Cirpt  阅读(44)  评论(0)    收藏  举报