题目:甲乙羊数量
甲说:我如果得到乙的9只羊,那么我的数量是乙的二倍;乙说:我如果得到甲的9只羊,那么两个人的羊数量相等。 输入样例
无
输出样例
甲羊的数量:63, 乙羊的数量:45
乙说:“我如果得到甲的 9 只羊,那么两个人的羊数量相等”→ 甲的数量 - 9 = 乙的数量 + 9→ 设甲有 x 只,乙有 y 只,则:y = x - 18甲说:“我如果得到乙的 9 只羊,那么我的数量是乙的二倍”→ 甲的数量 + 9 = 2 × (乙的数量 - 9)→ 即:x + 9 = 2 * (y - 9)从 x=1 开始,用 while True 循环不断尝试 x 的值每次循环先根据 y = x - 18 计算出对应的 y代入第二个方程验证是否成立,若成立则输出结果并结束循环理解 “穷举法” 求解方程的思想(适用于整数解问题)分析两个条件之间的依赖关系,先由乙的话得到 y 与 x 的直接关系,再用甲的话验证求解# 初始化甲的羊数量 x 为 1,从最小正整数开始尝试x = 1# 无限循环,直到找到满足条件的解while True: # 根据乙的话:甲给乙9只则数量相等 → y = x - 18 y = x - 18 # 根据甲的话:乙给甲9只,则甲的数量是乙的2倍 if x + 9 == 2 * (y - 9): # 满足条件时,输出甲乙各自的羊数量 print("甲羊的数量:%d, 乙羊的数量:%d" % (x, y)) # 找到解后终止循环 break else: # 不满足条件时,x 自增1,尝试下一个数 x = x + 1