题目描述
某个幼儿园里,有 55 位小朋友编号依次为 1,2,3,4,51,2,3,4,5 他们按照自己的编号顺序围坐在一张圆桌旁。他们身上有若干糖果,现在他们玩一个分糖果游戏。从 11 号小朋友开始,将自己的糖果均分成 33 份(如果有多余的糖果,就自己立即吃掉),自己留一份,其余两份分给和他相邻的两个小朋友。接着 2,3,4,52,3,4,5 号小朋友也这样做。问一轮结束后,每个小朋友手上分别有多少糖果。
输入格式
一行,55 个用空格隔开的 int
范围内的正整数,分别是游戏开始时 1,2,3,4,51,2,3,4,5 号小朋友手里糖果的数量。
输出格式
22 行,第 11 行是用一个空格隔开的 55 个整数,表示一轮游戏结束后 1,2,3,4,51,2,3,4,5 号小朋友手里糖果的数量。第 22 行是一个整数,表示一轮游戏过程中吃掉的糖果的总数。
输入输出样例
输入
8 9 10 11 12
输出
11 7 9 11 6
6
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
int num[5],sum,n,s;
int i;
s=0;
for(i=0;i<=4;i++){
cin>>num[i];
}
for(i=0;i<=4;i++){
sum=num[i]/3;
n=num[i]%3;
s+=n;
num[i]=num[i]/3;
if(i==0){
num[4]+=sum;
num[1]+=sum;
}
if(i==4){
num[3]+=sum;
num[0]+=sum;
}
if(i==1||i==2||i==3){
num[i-1]+=sum;
num[i+1]+=sum;
}
}
for(i=0;i<=4;i++)
cout<<num[i]<<" ";
cout<<endl<<s;
return 0;
}
这段程序是一个简单的C++程序,它接受5个整数作为输入,然后对这些整数进行一系列操作,并输出结果。
首先,程序定义了一个包含5个整数的数组num
,以及变量sum
、n
和s
,并初始化s
为0。
接下来,程序通过循环依次读取5个整数输入到数组num
中。
然后,程序再次遍历数组num
,对每个元素进行如下操作:
- 将整数除以3,商存储在
num[i]
中,余数存储在变量n
中。 - 将余数累加到变量
s
中。 - 根据当前元素的位置
i
,更新数组中相邻位置的元素值:- 如果
i
为0,将商加到num[4]
和num[1]
。 - 如果
i
为4,将商加到num[3]
和num[0]
。 - 如果
i
为1、2或3,将商加到num[i-1]
和num[i+1]
。
- 如果
最后,程序输出更新后的数组num
中的元素值,以及变量s
的值。
最终的输出结果为经过计算后的5个整数数组num
的值,以及所有输入整数除以3的余数之和s
。