百钱买百鸡B |
您所在的位置:网站首页 › python123三角形面积答案 › 百钱买百鸡B |
百钱买百鸡B
类型:流程控制 描述 我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,如果要求鸡翁、鸡母、鸡雏都不为零,问鸡翁、鸡母、鸡雏各几何。 现在的问题是:用户输入鸡的数量和钱数,鸡翁、鸡母、鸡雏各为多少?如果有解,输出全部解,并按鸡翁数量由少到多的顺序输出;如果无解则输出“无解”。 输入格式 用户在同一行内输入用空格分隔的两个正整数,分别表示鸡的数量和钱数 输出格式 每行输出一组结果,按鸡翁数、鸡母数、鸡雏数的顺序输出; 有多组解时,按鸡翁数量由少到多输出; 如果无解则输出“无解”。 示例 1 输入: 40 100 输出: 2 29 9 6 22 12 10 15 15 14 8 18 18 1 21 标准答案 # 我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,如果要求鸡翁、鸡母、鸡雏都不为零,问鸡翁、鸡母、鸡雏各几何? # 现在的问题是:用户输入钱和鸡的总数,计算鸡翁、鸡母、鸡雏各为多少?如果有解,输出全部解,并按鸡翁数量由少到多的顺序输出;如果无解则输出“无解”。 num, money = map(int, (input().split())) flag = 0 for x in range(1, money // 5 + 1): for y in range(1, money // 3 + 1): z = num - x - y # 鸡雏的数量等于总数减鸡翁和鸡母的数量 if z % 3 == 0 and z > 0 and 5 * x + 3 * y + z // 3 == money: print(x, y, z) flag = 1 # 如果找到满足的解那么flag从0变为1 # 如果找不到满足的解则输出无解 if flag == 0: print('无解') 我的答案 num,money = map(int,input().split()) answer = [] for i in range(1,num): for j in range(1,num): for k in range(1,num): if i+j+k == num and 5*i+3*j+k/3 == money: answer.append(f'{i} {j} {k}') if answer == []: print('无解') else: for i in answer: print(i) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |