题目描述:
日本著名数学游戏专家中村义作教授提出这样一个问题:父亲将2520个桔子分给六个儿子。
分完后父亲说:“老大将手上的桔子的1/8给老二;老二拿到后连同原先的桔子分1/7给老三;老三拿到后连同原先的桔子分1/6给老四;老四拿到后连同原先的桔子分1/5给老五;老五拿到后连同原先的桔子分1/4给老六;老六拿到后连同原先的桔子分1/3给老大”。结果大家手中的桔子正好一样多。
问六兄弟原来手中各有多少桔子?
输入格式:
无
输出格式:
输出6个数,表示六兄弟的桔子数,每两个数之间用一个空格隔开。
样例输入:
无
样例输出:
无
时间限制: 1000ms
空间限制: 256MB
提示:
left[i]表示第i-1个孩子分给第i个孩子的桔子,如left[3]表示老二分给老三的数量值。
对于第一个孩子a[1]来说,是先给出,再得到;而其他的孩子都是先得到,再给出。
第二个孩子a[2]:(a[2]+left[2])*6/7=ave,所以a[2]=ave*7/6-left[2],而left[3]=(a[2]+left[2])/7=ave*7/6/7=ave/6;
第三个孩子a[3]:(a[3]+left[3])*5/6=ave,所以a[3]=ave*6/5-left[3],而left[4]=(a[3]+left[3])/6=ave*6/5/6=ave/5;
......
第一个孩子老大的left[1]=ave/2,所以a[1]*7/8+ave/2=ave,从而求出a[1];其他的5个则是有规律的(上方),求出即可。
代码如下:
本题是一道小学奥数题目,可以直接求出每个人的个数。
#include<iostream>
using namespace std;
int main(){
cout<<240<<" "<<460<<" "<<434<<" "<<441<<" "<<455<<" "<<490;
return 0;
}