刷Python算法题第11天,做的越多能做的就越多...🌈
问题描述:今有鸡兔同笼,上有三十头,下有九十足。问鸡兔各几只?意思是假设共有鸡、兔30只,脚90只,请计算鸡兔共有多少只。
程序代码:
def solution(a,b):
x = (4 * a - b) / 2
if a != 0 and (4 * a - b) % (x *2) == 0:
y = a -x
if x < 0 or y < 0:
print("{}只动物{}条腿的情况无解".format(a, b))
else:
print("鸡有{}只,兔有{}只".format(int(x), int(y)))
else:
print("{}只动物{}条腿的情况无解".format(a, b))
a = int(input("请输入鸡和兔的总数\n"))
b = int(input("请输入鸡和兔的脚数\n"))
solution(a, b)
代码思路:
由于知道鸡兔的总数a和鸡兔的总脚数b,假设鸡有x只,兔有y只,所以可列出二元一次方程 x+y=a、2*x+4*y=b。=>x =(4 * a-b)/2,可求出鸡的数目。需判断是否都符合实际,鸡兔数目都应大于等于0,且为整数。