2789 - 三个小朋友分糖果

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

有三个小朋友甲乙丙。甲有a粒糖果,乙有b粒糖果,丙有c粒糖果。现在他们做一个游戏,从甲开始,将自己的糖分为三份,自己留一份,其余两份分别给乙和丙,多余的糖果自己吃掉,然后乙和丙也依次侬样做。最后甲乙丙三人各有多少糖果?

题目输入

一行:a,b,c(0<=a,b,c<=10000),分别代表甲、乙、丙的糖果数量。

题目输出

一行:三个数,中间用空格隔开,分别代表甲、乙、丙最后得到的糖果数量。

输入/输出样例

输入格式

50 43 13

输出格式

51 35 16

C语言解答

#include <stdio.h>
void main()
{
	int a,b,c;
	scanf("%d%d%d",&a,&b,&c);
	b=a/3+b,c=a/3+c,a=a/3;
	c=b/3+c,a=b/3+a,b=b/3;
	b=c/3+b,a=c/3+a,c=c/3;
	printf("%d %d %d\n",a,b,c);
}

C++解答

#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    int a,b,c;
    cin>>a>>b>>c;
    a=a/3;  b=b+a;  c=c+a;
    b=b/3;  a=a+b;  c=c+b;
    c=c/3;  a=a+c;  b=b+c;
    cout<<a<<" "<<b<<" "<<c<<endl;
    return 0;
}

Java解答

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input=new Scanner(System.in);
		int a=input.nextInt();
		int b=input.nextInt();
		int c=input.nextInt();
		int count=0;
		if(a%3!=0) {
			count=a/3;
			a=count;
			b+=count;
			c+=count;
			
			count=0;
		}else {
			count=a/3;
			a=count;
			b+=count;
			c+=count;
			
			count=0;
		}
		if(b%3!=0) {
			count=b/3;
			b=count;
			a+=count;
			c+=count;
			
			count=0;
		}else {
			count=b/3;
			b=count;
			a+=count;
			c+=count;
			count=0;
		}
		if(c%3!=0) {
			count=c/3;
			c=count;
			a+=count;
			b+=count;
			count=0;
		}else {
			count=c/3;
			c=count;
			a+=count;
			b+=count;
			count=0;
		}
		System.out.println(a+" "+b+" "+c);
	}

}