2789 - 三个小朋友分糖果
时间限制 : 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); } }