鸡兔同笼python程序怎么写,鸡兔同笼python多种方法

这篇具有很好参考价值的文章主要介绍了鸡兔同笼python程序怎么写,鸡兔同笼python多种方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这篇文章主要介绍了鸡兔同笼python程序怎么写,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

鸡兔同笼python写法,线性代数,算法,人工智能

Source code download: 本文相关源码

鸡兔同笼python写法,线性代数,算法,人工智能

方法一:通过sympy的方法进行计算

from sympy import Symbol,solve,pprint
x = Symbol('x')
y = Symbol('y')
n = Symbol('n')
m = Symbol('m')
expr1 = x + y - n
expr2 =2*x+4*y- m
solution = solve((expr1,expr2),(x,y),dict=True)
chicken = solution[0][x].subs({n:35,m:94})
rabbits = solution[0][y].subs({n:35,m:94})
print(f'There are {chicken} chicken.')
print(f'There are {rabbits} rabbits.')

结果如下:

There are 23 chicken.
There are 12 rabbits.

方法二:通过解析式编写函数求解
假设有 x x x只鸡, y y y只兔子,我们可以列出以下方程组:
{ x + y = n 2 x + 4 y = m \left\{ \begin{aligned} &x+y = n \\ &2x+4y = m \\ \end{aligned} \right. {​x+y=n2x+4y=m​
得到的解为:
{ x = 2 n − 1 2 m y = 1 2 m − n \left\{ \begin{aligned} &x = 2n-\frac{1}{2}m \\ &y = \frac{1}{2}m-n \\ \end{aligned} \right. ⎩⎪⎨⎪⎧​​x=2n−21​my=21​m−n​
据此,我们可以写出以下函数进行该问题的求解:

def chicken_and_rabbits(nheads,mlegs):
	rabnum = mlegs/2 - nheads
	chinum = 2*nheads - mlegs/2
	return chinum,rabnum

chicken = int(chicken_and_rabbits(35,94)[0])
rabbits = int(chicken_and_rabbits(35,94)[1])

print(f'There are {chicken} chicken.')
print(f'There are {rabbits} rabbits.')

最后的结果如下:文章来源地址https://www.toymoban.com/news/detail-854430.html

There are 23 chicken.
There are 12 rabbits.

鸡兔同笼python写法,线性代数,算法,人工智能

方法一:通过sympy的方法进行计算

from sympy import Symbol,solve,pprint
x = Symbol('x')
y = Symbol('y')
n = Symbol('n')
m = Symbol('m')
expr1 = x + y - n
expr2 =2*x+4*y- m
solution = solve((expr1,expr2),(x,y),dict=True)
chicken = solution[0][x].subs({n:35,m:94})
rabbits = solution[0][y].subs({n:35,m:94})
print(f'There are {chicken} chicken.')
print(f'There are {rabbits} rabbits.')

结果如下:

There are 23 chicken.
There are 12 rabbits.

方法二:通过解析式编写函数求解
假设有 x x x只鸡, y y y只兔子,我们可以列出以下方程组:
{ x + y = n 2 x + 4 y = m \left\{ \begin{aligned} &x+y = n \\ &2x+4y = m \\ \end{aligned} \right. {​x+y=n2x+4y=m​
得到的解为:
{ x = 2 n − 1 2 m y = 1 2 m − n \left\{ \begin{aligned} &x = 2n-\frac{1}{2}m \\ &y = \frac{1}{2}m-n \\ \end{aligned} \right. ⎩⎪⎨⎪⎧​​x=2n−21​my=21​m−n​
据此,我们可以写出以下函数进行该问题的求解:

def chicken_and_rabbits(nheads,mlegs):
	rabnum = mlegs/2 - nheads
	chinum = 2*nheads - mlegs/2
	return chinum,rabnum

chicken = int(chicken_and_rabbits(35,94)[0])
rabbits = int(chicken_and_rabbits(35,94)[1])

print(f'There are {chicken} chicken.')
print(f'There are {rabbits} rabbits.')

最后的结果如下:

There are 23 chicken.
There are 12 rabbits.

到了这里,关于鸡兔同笼python程序怎么写,鸡兔同笼python多种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python编程:实现计算鸡兔同笼问题

    目录 一、编程题目 二、输入输出样例 三、程序实现 四、测试         大约在1500年前,《孙子算经》中就记载了这个有趣的问题:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”意思是,有若干只鸡和兔子关在同一个笼子里,从上面数有20个头,从下

    2024年02月16日
    浏览(34)
  • 使用python语解决一个小学数学题----鸡兔同笼问题

    问: 鸡(chicken)和兔子(rabbit)被关进一只笼子里,已知头(head)一共有40个,腿(leg)一共有120个,请问笼子里有几只鸡,几只兔子? [root@localhost /]# vim 1.py 编辑: head = 40 leg = 120 for chicken in range(0,head): rabbit = head - chicken if chicken * 2 + rabbit * 4 == 120: print chicken print rabbit [

    2023年04月08日
    浏览(37)
  • c++鸡兔同笼

    如何用c++编写鸡兔同笼 首先,我们需要知道我们的思路 解鸡兔同笼的方法有三种: 1、暴力枚举; 2、假设法:假设全是兔或全是鸡,……; 3、列方程; 今天就用用第一种方法解鸡兔同笼; 第一种方法: #includebits/stdc++.h using namespace std; int main(){     int a,b,ji,tu;     bool h

    2024年02月06日
    浏览(37)
  • 【C语言】鸡兔同笼

    鸡兔同笼是中国古代的数学名题之一 大约在1500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的: 今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何? 这四句话的意思是: 有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只

    2024年02月04日
    浏览(31)
  • C语言解决鸡兔同笼问题

    鸡和兔关在一个笼子里,鸡有2只脚,兔有4只脚,没有例外。已知现在可以看到笼子里m个头和n只脚,求鸡和兔子各有多少只?   输入 输入两个整数heads和feet,分别代表笼子里头的个数和脚的个数。(假设heads和feet都在合法的数据范围内) 输出 依次输出鸡和兔的只数。(数字为

    2024年02月06日
    浏览(34)
  • [保研/考研机试] KY87 鸡兔同笼 北京大学复试上机题 C++实现

    一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。 每组测试数据占1行,每行一个正整数a (a 32768) 输出包含n行,每行对应一个输入,包含两个正整数,第一个是最少的动物数

    2024年02月13日
    浏览(42)
  • 【MOSS】首个开源免费的「中国版ChatGPT」MOSS!全新插件系统,能上网,会鸡兔同笼——复旦开源

    GitHub - OpenLMLab/MOSS: An open-source tool-augmented conversational language model from Fudan University An open-source tool-augmented conversational language model from Fudan University 目录 🗒️ 开源清单 模型 数据/

    2024年02月04日
    浏览(40)
  • Java JDK1.8 Lambda的多种用法,Lambda的多种写法,Lambda的多种写法比较

    说明:泛型String可以灵活,判断条件也是 以前的写法 使用lambda的写法 或1 或2 以前的写法 使用lambda的写法 或对象 删除 .reversed() 为正序 以前的写法 使用lambda的写法 或 以前的写法 使用lambda的写法 以前的写法 使用lambda的写法 以前的写法 使用lambda的写法 或 以前的写法 lamb

    2024年02月15日
    浏览(50)
  • js点击事件多种写法

    给html标签内添加 onclick属性 , 值 写 js中 定义的函数名 ,最终 实现 调用 

    2024年02月16日
    浏览(36)
  • a标签属性href的多种写法

    众所周知,a标签的最重要功能是实现超链接和锚点。而且,大多数人认为a标签最重要的作用是实现超链接,其实不单单是实现超链接的方法,今天新起点博客就来整理下a标签中href的几种用法。 1、a href=“[removed]js_method();” 这是常用的方法,但是这种方法在传递this等参数的

    2024年02月05日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包