百鸡百钱是我国古代数学家张丘建在《算经》一书中提出的数学问题:“鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?”
百鸡百钱是我国古代数学家张丘建在《算经》一书中提出的数学问题:“鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?”
答一:鸡翁一值钱五——公鸡五文一只,而用一百文买一百只鸡,如果全买公鸡,公鸡数量也至多不超过20只,
同理母鸡的数量至多不超过33只(鸡没有0.3只)。
解:设母鸡y只,公鸡x只,小鸡(100-x-y)只,
所以5x+3y+(100-x-y)/3=100
且x,y为整数,为了简化运算所以可以给上式左右两边乘3,
化简:1、5x+9y+(100-x-y)=300有四种情况符合要求:
1.母鸡25只,公鸡0只,小鸡75只
2. 母鸡4只,公鸡12只,小鸡84只
3. 母鸡11只,公鸡8只,小鸡81只
4. 母鸡18只,公鸡4只,小鸡78只
答二:平衡法
1只母鸡配3只小鸡,则4鸡4钱,平衡;
1只公鸡配3只小鸡,则4鸡6钱,钱多,加小鸡;
1只公鸡配6只小鸡,则7鸡7钱,平衡;
四鸡四钱、七鸡七钱分百鸡百钱;
很显然,四鸡四钱25组符合要求;
另四鸡四钱每减7组,可增七鸡七钱4组,
因此,四鸡四钱18组、七鸡七钱4组,四鸡四钱11组、七鸡七钱8组,四鸡四钱4组、七鸡七钱12组也符合要求。
将四鸡四钱和七鸡七钱拆开,即得
翁四母十八雏七十八,翁八母十一雏八十一、翁十二母四雏八十四、母二十五雏七十五满足要求。
Python实现方式:for num_cock in range(0,100): for num_hen in range(0,100): if 14*num_cock+8*num_hen-200 == 0 and 100-num_hen-num_cock >=0: print('公鸡',num_cock,'只,母鸡',num_hen,'只','小鸡',100-num_hen-num_cock,'只')