如何用python编程解释“鸡兔同笼”问题?

如何用python编程解释“鸡兔同笼”问题?,第1张

鸡兔同笼python程序编写要根据原书中的描述的:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”鸡兔同笼python程序具体写法如下:

把原文翻译成现代汉语是:“鸡和兔放在一个笼子里, 笼子里共有35个头,94个爪,那鸡和兔各有多少只?”

1、根据题意,头的总数为35,用变量head来记录头的总数:head =35。而腿的总数为94,用变量foot来记录腿的总数:(foot = 94)。

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

3、然后,用变量rabbit记录兔子的数量。因为鸡和兔的总数等于头的数量,所以兔的数量rabbit等于头的总数head减去鸡的数量(chicken:rabbit=head一chicken)。

4、鸡有两条腿,兔子有四条腿,所以腿的总数为:(if chicken *2 + rabbit *4 == foot:print('鸡',chicken, '兔',rabbit))执行代码,就完成了。

python程序编写:

Python编程是一种跨平台的计算机程序设计语言,是ABC语言的替代品。Python能提供高效的高级数据结构,还能简单有效地面向对象编程。

是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。

今天给大家分享的案例是鸡兔同笼。

我们一起来看下使用Scratch来编写 解决鸡兔同笼的程序。

先来看下效果图:

①新建4个变量分别表示 总头数、总脚数、兔子只数、鸡的只数。

②通过询问,把输入的数据分别赋值给总头数和总脚数两个变量:

③判断输入的数据是否合理化。总脚数应大于等于总头数的二倍,并且是偶数,否则与现实不符;

④根据输入头脚数计算兔子只数。

⑤计算鸡的只数。

⑥分别说出兔子和鸡的只数。

⑦整体解析:

-end

鸡兔同笼用logo编程制作的方法是:输入:两个整数b和m,如上所述。输出:鸡的数目和兔的数目。输入实例:14 32。

然后那咱就先看看怎么得出鸡的数量和兔子的数量,我们假设a = 鸡只数,b = 兔只数(兔的脚数×总只数-总脚数)÷(兔的脚数-鸡的脚数)=鸡的只数。

代码是:#include "stdio.h"int main() {

 int a,b,n, m。

// a鸡的数量

 // b兔的数量

 // n鸡兔总数

 // m总脚数

 scanf("%d %d", &n,&m)。

a = (4 * n - m) / 2//算出鸡的数量

 b = n - a//算出兔的数量

 if (a <= 0 || b <= 0) {

 //结果小于等于0,答案不成立,无解。

printf("No answer")

 } else {

 //结果大于0

   printf("%d %d", a, b)

 }

 return 0

  }。

鸡兔同笼的编程思路是:

由于鸡有2 只脚,兔子有4 只脚,因此笼子里面脚的总数一定是个偶数。如果有奇数只脚,则输入不正确。即没有满足要求的情况出现,则输出2个0。

当a是偶数时,若要动物数目最少,则应使动物尽量有4 只脚,而要动物数目最多,则应使动物尽量有2 只脚。因此本题无需用循环穷举,只需按上面的分析找到相应的计算式子即可。

如果总脚数a 是4 的倍数,则动物最少数目为a / 4(全部为兔子),最多为a / 2(全部为鸡)。

如果总脚数a 不是4 的倍数,则动物最少数目为a/4+1(除1只鸡外,其余全部为兔子),最多为a / 2(全部为鸡)。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12113273.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存