300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python123鸡兔同笼编程_用编程的方法解决“鸡兔同笼”系列问题 其实很简单

python123鸡兔同笼编程_用编程的方法解决“鸡兔同笼”系列问题 其实很简单

时间:2019-02-15 02:41:57

相关推荐

python123鸡兔同笼编程_用编程的方法解决“鸡兔同笼”系列问题 其实很简单

原标题:用编程的方法解决“鸡兔同笼”系列问题,其实很简单

今日题型讲解

同学们是不是觉得古人很“无聊”啊,有事没事竟然把鸡和兔子关在一个笼子里数腿玩,还要各种变着花样考验大家

相信大家在学校里都已经学过“鸡兔同笼”这个问题的数学解法啦。今天我就来讲解两种编程解法,让我们用21世纪的方法再次解开这道经典古老难题~~~

今有雉兔同笼,

上有三十五头,

下有九十四足,

问雉兔各几何?

第一种解法

#假设 鸡有0只 ,则 兔有35-ji只

ji=0

#用while循环语句来判断符合足94只的情况

while 1:

tu=35-ji

#如果 鸡的脚+兔的脚=94,则输出鸡兔数量的结果,中断循环

if 2*ji+4*tu==94:

print("鸡有:",ji,"只")

print("兔有:",tu,"只")

break

#否则用鸡的数量加1,循环判断符合情况的数字

ji+=1

第二种解法

分析:

根据题意,头的总数为35,我们用变量head来记录头的总数:head=35

而腿的总数为94,我们用变量foot来记录腿的总数:foot=94

我们用变量chicken记录鸡的数量。因为头的总数为35,说明鸡和兔共有35只,所以鸡的数量是0-35之间的某一个数,这里我们用for循环来指挥计算机,自动罗列所有可能出现的情况:

for chicken in range(0,head+1):

然后,我们用变量rabbit记录兔子的数量。因为鸡和兔的总数等于头的数量,所以兔的数量rabbit等于头的总数head减去鸡的数量chicken:

rabbit=head-chicken

鸡有两条腿,兔子有四条腿,所以腿的总数为:

chicken*2+rabbit*4

当腿的总数恰好等于题目的要求94条腿的时候,我们就成功地得到了问题的解。

最后输出答案:

if chicken*2+rabbit*4==foot:

print("鸡",chicken,"兔",rabbit)

'''

完整程序:

head=35

foot=94

for chicken in range(0,head+1):

rabbit=head-chicken

if chicken*2+rabbit*4==foot:

print("鸡有:",chicken,"只")

print("兔有:",rabbit,"只")

万能解题法

那么,为了解决类似所有题目【给出不同数目的头和脚】,我们需要自定义一个函数,这样就做到了“秒”出答案!!!

def jitutonglong(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 = eval(input("请输入鸡和兔的总数n"))

b = eval(input("请输入鸡和兔的脚数n"))

jitutonglong(a, b)

程序运行如下

让你在数学上头疼的“鸡兔同笼”问题放到编程里就可以轻松解决,你学会了吗?

其实很多简单和日常的小问题,都蕴藏着编程最核心的思想——计算思维,计算思维的养成又能够很好的推动数学思维与能力的提升。

编程是很神奇的语言,大家一起加油吧

责任编辑:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。