08.17隔沟算羊

问题描述

甲乙隔沟放牧,二人暗里参详。

甲云得乙九个羊,多你一倍之上。

乙说得甲九只,两家之数相当。

两边闲坐恼心肠,画地算了半响。

 

        这是出自明代数学家程大位《算法统宗》书中的一道算题,它的意思是说:

 

        甲、乙牧人隔着山沟放羊,两人心里都在想对方有多少羊。甲对乙说:“我若得你9只羊,我的羊就多你一倍。”乙说:“我若得你9只羊,我们两家的羊数就相等。”两人闲坐山沟两边,心里烦恼,各自在地上列算式计算了半天也没算出来。请问甲、乙各有多少只羊?

 


编程思路

        根据题意,设甲有x只羊,乙有y只羊,则可得等式如下:

        采用枚举法,从1开始列举甲的羊数,并计算出乙的羊数,再把甲、乙羊数代入上述等式判断是否成立。如果成立,则找到该问题的解。

 

程序清单

        根据上面介绍的算法,编写程序求解答案。

 

        运行该模块,得到答案:甲有羊63只,乙有羊45只。

 

试一试

        甲、乙两人去买酒,不知道谁买多买少。只知道乙买酒钱的1/3与甲买酒钱之和恰好为200文。若乙得到甲买酒钱的一半,也有200文。请问甲、乙两人买酒各用了多少钱?

        编写程序解决这个问题。


Comments