題目描述
父親將2520個桔子分給六個兒子,分完后父親說:“老大將分給你的桔子的1/8給老二;老二拿到后連同原先的桔子分1/7給老三;老三拿到后連同原先的桔子分1/6給老四;老四拿到后連同原先的桔子分1/5給老五;老五拿到后連同原先的桔子分1/4給老六;老六拿到后連同原先的桔子分1/3給老大”,結果大家手中的桔子正好一樣多,問六兄弟原來手中各有多少桔子?
解題思路:
最后橘子一樣多,我們可知最后每個人手上的橘子個數
根據原先的橘子數量和給下一個兒子橘子的數量間存在一定關系進行求解
注意:大兒的情況特殊(既給了橘子也收到了橘子),而其他兒子只收到了橘子
參考代碼:
#include<stdio.h>
int main()
{
int num, left;//原來是數量和留給下一個的數量
int ave = 420;//最后的數量(平均個數)
int i;
for (i =0; i <6; i++)
{
if (i == 0)//大兒的情況特殊:給了橘子又收到了橘子
{
//大兒原來的數量==六兒給之前的個數(剩下的數量)*8/7
num = (ave - ave / 2) * (8 - i) / (8 - 1 - i);
//大兒給的個數==原來的個數/8
left = num / (8 - i);
printf("第%d個兒子原來橘子的個數:%d\n", i + 1, num);
}
else
{
//接下來的每個兒子分配的公式:(left(之前一個給的)+num(本來的))*(8 - i) / (8 - 1 - i)==ave(最后的平均個數)
num = ave * (8 - i) / (8 - 1 - i) - left;
//給下一個兒子的個數==前一個兒子給之后的總數量/(8-i)
left = (num+left)/ (8 - i);
printf("第%d個兒子原來橘子的個數:%d\n", i + 1, num);
}
}
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/341980.html
標籤:其他
