2069:【例2.12 】糖果游戏

 信息学奥赛一本通(C++版)在线评测系统icon-default.png?t=N7T8http://ybt.ssoier.cn:8088/problem_show.php?pid=2069

2069:【例2.12 】糖果游戏

【题目描述】

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

【输入】

5个小朋友的糖果数。

【输出】

游戏后5个小朋友的糖果数。(按5位宽度输出)

【输入样例】

8 9 10 11 12

【输出样例】

   11    7    9   11    6

【解释】 

题目水,但还是得讲。

我们从题目知道,小p友是在圆桌上做一个分糖果游戏的。

1.用for语言判断两旁的人(当然,你可以一个一个做,但太麻烦了),分给对应的糖果,1和5得特判。 1要分给5和2,5要分给1和4。把糖 分成3份。

【代码】

#include <bits/stdc++.h>
using namespace std;
int a[6];
int main() {
	int candy;
	for(int i=1; i<=5; i++)
		cin>>a[i];
	for(int i=1; i<=5; i++) {
		candy=a[i]/3;
		if(i==1) {
			a[5]+=candy;
			a[2]+=candy;
		} else if(i==5) {
			a[1]+=candy;
			a[4]+=candy;
		} else {
			a[i-1]+=candy;
			a[i+1]+=candy;
		}
		a[i]=candy;
	}
	for(int i=1; i<=5; i++)
		printf("%5d",a[i]);
}

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值