|  时间限制:C/C++ 1000MS,其他语言 2000MS
   内存限制:C/C++ 64MB,其他语言 128MB
   难度:中等
   分数:100 OI排行榜得分:12(0.1*分数+2*难度)
   出题人:root   |

描述
甲、乙、丙三人共有x元钱,先由甲分钱给乙、丙两人,所分给的数与各人已有数相同;接着由乙分给甲、丙,分法同前;再由丙分钱给甲、乙,分法亦同前。经上述三次分钱之后,每个人的钱数恰好一样多。 求原先各人的钱数分别是多少?

输入描述
三个人的总钱数。(0≤x≤10^{9}

输出描述

甲乙丙三人原有的钱数,用空格隔开。

用例输入 1 

24
用例输出 1 

13 7 4

程序代码:

#include<iostream>
using namespace std;
int main() {
     int x,n;
    cin>>x;
	int j1,y1,b1,j2,y2,b2,j3,y3,b3;
	n=x/3;	//最后平均分
    //丙分钱给甲、乙
    j3=n/2;//甲
	y3=n/2; //乙
	b3=n+j3+y3;//丙
    //乙分给甲、丙
	j2=j3/2;//甲
	b2=b3/2;//丙
	y2=y3+j2+b2;//乙
    //甲分钱给乙、丙
	y1=y2/2;//乙
	b1=b2/2;//丙
	j1=j2+y1+b1;//甲
	cout<<j1<<" "<<y1<<" "<<b1<<endl;
	return 0;
}

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐