1.一本通 例2.17 分糖果

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

输入 :一行,5位小朋友的糖果数。
输出:输出5个小朋友最后手上的糖果数,按5位宽度输出
样例输入:8 9 10 11 12
样例输出
   11    7    9   11    6


分析:
本题为一个简单的整除问题,但注意以下细节
  • 1.注意文本细节理解
  • 如果有多余的糖果,则立即吃掉”而不是留给自己再加上%;
  • 2.宽度处理(23与24 行)
  •  1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<iomanip>
     5 using namespace std; 
     6 int n,a[10]; 
     7 //用数组模拟这五个人,用%,+等运算 模拟 
     8 int main()
     9 {
    10     for(int i=1;i<=4;i++)
    11         cin>>a[i];
    12     cin>>a[0];
    13     for(int i=1;i<=4;i++)
    14     {
    15         a[(i+6)%5]+=a[i]/3;
    16         a[(i+4)%5]+=a[i]/3;
    17         a[i]=a[i]/3;
    18     }
    19     a[1]+=a[0]/3;
    20     a[4]+=a[0]/3;
    21     a[0]=a[0]/3;
    22     for(int i=1;i<=4;i++)
    23 //    cout<<setw(5)<<a[i];
    24         printf("%5d",a[i]);
    25     printf("%5d",a[0]);
    26     return 0;
    27  } 

     

posted @ 2022-08-19 08:02  要不要吃哈密瓜  阅读(68)  评论(1编辑  收藏  举报