前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解决鸡兔同笼问题

解决鸡兔同笼问题

作者头像
算法与编程之美
发布2024-03-07 13:37:43
920
发布2024-03-07 13:37:43
举报

1 问题

清晰的描述本文待解决的问题是什么,是全文的重点所在,开发者在搜索文章的时候,如果问题与他契合,则会更有兴趣并完成全文的阅读。

大约在1500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的:

今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?

这四句话的意思是:

有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?

2 方法

我们通过所学知识可以知道:假设鸡都抬起一只脚,兔子都抬起两只脚,鸡抬起一只脚剩一只脚,兔子抬起两只剩两只。那么,脚的数量就会变为原来的一半。这时,笼子里兔子比鸡的脚多一,那只要用教的数目减去头的数目,算出来的就是兔子多出来的脚。

用户在同一行内输入两个整数,代表头和脚的数量,编程计算笼中各有多少只和兔,假设鸡和兔都正常,无残疾。如无解则输出Data Error!

a,b = input().split() #读入两个数到a b中

a,b = map(int,input().split(',')) #读入两个整数到a,b中,输入的数用逗号分隔

a,b = map(int,input().split(' ')) #读入两个整数到a,b中,输入的数用空格分隔

代码清单

代码语言:text
复制
a,b = input().split(' ',2)
y=0
for x in range(a):
if x*2+(a-x)*4==b:
print(x,a-x,end=" ")
y=1
if y==0:
print("Data Error!")

3 结语

针对求解鸡兔同笼问题,提出通过ab两数假设方法,通过几次循环实验改进,完善程序,证明该方法是有效的,此代码还有其他解决方法,此程序还有更多方法待试验。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档