鸡兔同笼(Python程序设计)

8.编程实现鸡兔同笼问题。已知在同一个笼子里总共有h只鸡和兔,鸡和兔的总脚为f只,其中,h和f由用户输入,求鸡和兔各有多少只?要求使用两种方法:一tu是求解方程;二是利用循环进行枚举测试。

方法一:求解方程法

h = int(input("请输入总头数:"))
f = int(input("请输入总脚数(必须是偶数):"))
if (f <= 0) or (f % 2 != 0):
    f = int(input("请输入总脚数(必须是偶数):"))

j = (4*h-f)/2  #j代表鸡
t = h-j  #t代表兔

if (j <= 0) or (t <= 0):
    print("无解,请重新运行测试:")
else:
    print("鸡有{}只,兔有{}只".format(j, t))

运行结果:

方法二:利用循环进行枚举测试

h = int(input("请输入总头数:"))
f = int(input("请输入总脚数(必须是偶数):"))
if (f <= 0) or (f % 2 != 0):
    f = int(input("请输入总脚数(必须是偶数):"))

m = 0
for t in range(1, h):
    j = h-t
    if j*2+t*4 == f:
        print("鸡有{}只,兔有{}只".format(j, t))
        m = 1
        
if m == 0:
    print("无解,请重新运行测试")

运行结果:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值