用编程的方法解决“鸡兔同笼”系列问题,其实很简单 |
您所在的位置:网站首页 › 鸡兔同笼用python如何写 › 用编程的方法解决“鸡兔同笼”系列问题,其实很简单 |
今有雉兔同笼, 上有三十五头, 下有九十四足, 问雉兔各几何? 第一种解法 #假设 鸡有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) 程序运行如下 让你在数学上头疼的“鸡兔同笼”问题放到编程里就可以轻松解决,你学会了吗? 其实很多简单和日常的小问题,都蕴藏着编程最核心的思想——计算思维,计算思维的养成又能够很好的推动数学思维与能力的提升。 编程是很神奇的语言,大家一起加油吧
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |