鸡兔同笼问题

用python解决鸡兔同笼的问题 ?(一文读懂) 鸡兔同笼问题源自我国古代数学名著《孙子算经》,其表述为:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?” 简单来说,就是在一个笼子里关着鸡和兔子,已知头的总数和脚的总数,要求分别算出鸡和兔子的数量。从数学角度分析,我们可以设鸡的数量为 x,兔的数量为y。基于头的数量关系可得方程 x+y=总头数;再依据脚的数量关系,鸡有2 只脚,兔有 4只脚,从而得到方程 2x+4y=总脚数。通过解这组二元一次方程组,就能得出鸡和兔的数量。 阅读详情

OJ1752鸡兔同笼问题

同我以往的风格一样,先从故事开始(谢谢bing):

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

这四句话的意思是:

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

这并不是一个难题,无论你是用数学方法还是代码都能很好的实现

如果是数学思想,那简直就是一道小学题:

{x + y =35

{4x + 2y = 94

对吧?

代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int x,y;
    for(x = 1;x <= 35;x ++)
    {
        for(y = 1;y <= 35;y ++)
        {
              if(x + y == 35 && 4 * x + 2 * y == 94)
              {
                    printf("%d %d",x,y);
              }  
        }
    }
    return 0;
}

进阶:Pro

那如果是像OJ上这样呢?

一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外???《没有例外》)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物?

当我们看到有所谓最大最小字样时,其实就不难想到我们要对这个问题进行枚举了

但是-------------------------------------------------------------------------------------------------------

这就,很麻烦了对吧,首先我们要判定其实答案一定是偶数

那最多的,就全是鸡对否?也就是total / 2.

最少的,就全是兔子,也就是total / 4

但是-------------------------------------------------------------------------------------------------------

我们想一想

样例是20,如果不是呢?

比如18?

也就无法行得通吧?

使用偶数定义

1:x mod 2 == 0的数字为偶数

2:2的倍数为偶数

还有:

PS:2 * 2 = 4

也就是说,任意一个正偶数,可以被拆成n个2和m个4的和,这也就是本题的突破口了

如果total mod 4 == 0

说明最少全是兔子,最多全是鸡

如果total mod 4 == 2

就是余出来了一只鸡,所以最少就是(total - 2) / 4 + 1即可

代码:

/*《这个枚举是怎么没的》*/ 

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int a = 0;
	cin >> a;
	if (a % 2 != 0)
	{
		cout << 0 << " " << 0;
	} 
	else 
	if (a % 4 != 0) 
	{
		cout << a / 4 + 1 << " " << a / 2;
	} 
	else 
	{
		cout << a / 4 << " " << a / 2;
	}
	return 0;
}

ok啊,这就是OJ2.1的第一道题了

祝好运

RP++!!!

Python数学问题17:鸡兔同笼问题 1. 问题描述 古代《孙子算经》有一句话:“今有鸡兔同笼,上有三十五头,下有百足,问鸡兔几何?”这是古代的数学问题,表示一个笼子里有35个头,一百只脚,然后计算出有几只兔子和几只鸡。 2. 实例代码 使用循环解决鸡兔同笼问题 # -- coding: utf-8 -- chicken = 0 while True: rabbit = 35 - chicken # 头的总数 if 2 * chicken + 4 * rabbit... 阅读详情

相关推荐

鸡兔同笼问题C++解决

鸡兔同笼问题

qq_66917517的博客 2603

OpenJudge NOI 2.1 1752:鸡兔同笼

OpenJudge NOI 2.1 1752:鸡兔同笼设有鸡x只,兔子y只,已知有a只脚,那么有 2x+4y=a2x+4y=a2x+4y=a 鸡最少有0只,当所有的脚都是鸡脚时,鸡最多,有a2\frac{a}{2}2a​只,所以0≤x≤a20\le x \le \frac{a}{2}0≤x≤2a​ 兔子最少有0只,最多有⌊a4⌋\lfloor \frac{a}{4} \rfloor⌊4a​⌋只,所以0≤y≤⌊a4⌋0\le y \le \lfloor \frac{a}{4} \rfloor0≤y≤⌊4a​⌋

君义NOIP的博客 1760

Hypermesh静力学仿真分析与模态分析-02

hypermesh中对较复杂实体进行静力学分析和模态分析,包含材料属性添加,载荷设置等等

Look_forward_的博客 6777

鸡兔同笼(代码)

描述 一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。 输入 一行,一个正整数a (a < 32768)。 输出 一行,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开。如果没有满足要求的答案,则输出两个0,中间用一个空格分开。 样例输入 20 样例输出 5 10 AC代码: #include<bits/st...

wangjingwan的博客 3318

Pattern Recognition 投稿过程记录,含Elsevier Latex模板使用

Pattern Recognition 投稿过程记录,含Elsevier Latex模板使用 最近在Pattern Recognition投出了一个文章,纯纯属于是第一次投稿,感觉自己写了一坨屎,事实是这确实也是一坨屎,现在是投了之后在等待一个拒稿的状态。 但是还是记录一下一些流程 1. 下载模板 在出版商Elsevier的栏目里有对于稿件的结构要求,也提供了Latex模板。同时,也给作者提供了Guides, 可以仔细阅读。下面这个连接咱们可以下载到Guides以及看到一些文章的要求。 https://ww

weixin_44153180的博客 3万+

博图HMI多语言文本列表一键生成攻略:从Excel模板到TIA Portal的完整流程

本文详细介绍了如何利用Excel模板和TIA Portal API实现博图HMI多语言文本列表的一键生成。通过标准化Excel模板设计、解析TIA Portal的XML结构,并结合C#代码实现自动化导入,大幅提升多语言项目的开发效率。特别适用于需要支持多语言版本的自动化设备HMI界面开发。

weixin_26934905的博客 218

1752:鸡兔同笼 ①

描述一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。 (a &lt; 32768)1、直接暴力枚举,二重循环#include &lt;bits/stdc++.h&gt; using namespace std; int main(){ int a,minn,maxx; cin&gt;&gt;...

未来有个世界等着你 885

【Cadence】stb仿真和ac仿真——以一个简单的全差分反相放大器仿真为例

最近在补一些仿真方法学的问题,以及一些一直以来都有点模糊的概念,简单记录一下。搭建一个以两个CMOS反相器构成的全差分放大器(28nm工艺,PMOS和NMOS尺寸一致)激励的设置方便共模和差模仿真用同一个TB(这里有一个问题:这个放大器需要在开环下仿真还是闭环下?哪些放大器应用在开环,哪些闭环?这种应用场景不同会导致需要仿真得到开环还是闭环增益,或者环路增益?(我知道放大器在设计的时候肯定都是闭环应用的多,但是什么时候没必要闭环应用?光验证ac和stb仿真是否一样的话有必要有回路吗?

weixin_44951108的博客 5万+

NOI 2.1 枚举 1752:鸡兔同笼

题目来源:http://noi.openjudge.cn/ch0201/1752/ 1752:鸡兔同笼 描述 一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。 输入 一行,一个正整数a (a < 32768)。 输出 一行,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个...

da_kao_la的博客 2219

三相逆变器拓扑结构的分析及应用场景

三相逆变器是电力电子领域中广泛应用的一种设备,用于将直流电转换为交流电。不同的拓扑结构在性能、成本、复杂度和应用领域上存在差异。小编将在本文中将进一步拓展对三相逆变器拓扑结构的分析,并探讨其适用的应用场景。

道合顺的博客 2235

Gazebo仿真环境下的强化学习实现

实际上利用Gazebo进行强化学习无非是环境获取上的不同,Gazebo的环境控制需要使用ROS服务进行控制,状态可以通过Gazebo进行获取,同时某些必要数据需要从话题中获取,最重要的是组织获取 的数据(通过话题等)与控制Gazebo的仿真步骤之间的组合。强化学习的手段与传统算法无异,强化学习方法最重要的是要确定动作空间、状态空间、奖励空间,这三个空间是work的前提。在笔者自己的环境中,将获取里程计的话题以及获取激光点的数据替换成为了自己的本机的仿真环境匹配的话题。

Moresweet 猫甜 6450

OpenJudge 1752--鸡兔同笼

一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。一行,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开。如果没有满足要求的答案,则输出两个0,中间用一个空格分开。一行,一个正整数a (a < 32768)。

wangbin_df的博客 626

数学:箭头符号→(to)都表示什么意义?

数学符号“→”在不同领域有不同含义:在逻辑中表示“蕴含”(p→q);在函数中表示映射关系(f:A→B);在极限中表示变量趋近(x→a);在推导过程中表示推理方向(A→B)。此外,它也可能用于向量表示或数列趋势。其具体含义需结合上下文判断,核心应用场景包括逻辑运算、函数定义、极限分析和数学推导等。

shunzi2016的博客 5567

【C语言程序】鸡兔同笼问题

嗨~大家好,这里是可莉!今天给大家带来的程序是鸡兔同笼问题。 废话不多说,直接上代码!!

qq_45069481的博客 9万+

ModuleNotFoundError: No module named‘langchain.schema.output parserlangchain.schema is not a package

电脑里现有的langchain库版本与import所需的不同,卸载原有langchain,重新下载最新的langchain。在步骤1后,若仍不可运行。在确保已重新下载新langchain后,重启python后,可正常运行。在版本号中填入所需的langchain版本号,可在requirements.txt查看。运行如下代码时,出现error。

weixin_45751925的博客 1713

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

鸡兔同笼问题的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.

weixin_41855010的博客 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

用Rust解决鸡兔同笼问题

Rust解决鸡兔同笼问题

软件行业技术文化交流。 1208

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

鸡兔同笼问题(python)

要求用户输入头数和腿数,输出结果或输出无解 我的思路是 用穷举法的话,必定使用循环,即while函数,那么必须按照一定的顺序去穷举 因为兔子有四条腿比鸡的腿多,所以我打算从假设兔子数量为0,开始,以腿数加起来少于输入的腿数为标准,逐个增加兔子的个数,程序如下 print('鸡兔同笼问题') head=int(input('请输入头的个数')) #Python中变量都是通过赋值...

weixin_30755709的博客 2万+

关于鸡兔同笼的python程序_python解决鸡兔同笼问题的方法

Python解决鸡兔同笼问题的方法本文实例讲述了Python解决鸡兔同笼问题的方法,分享给大家供大家参考。具体分析如下:问题描述一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物输入数据第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(a32768)。输出要求n行,每行输出对应...

weixin_31916045的博客 8783

用python编程解决鸡兔同笼问题

今天我们来用python3.7编写一个程序来帮助我们完成鸡兔同笼的问题,话不多说,直接来编程: feet1 = 0 feet2 = 0 head = 0 rabbits = 0 chickens = 0 head = int(input('鸡兔同笼问题,请输入只数:')) feet1 = int(input('请输入腿数:')) #假设都是兔子,那么有 只数 X 4 条腿 feet2 = hea...

迷你恐龙的博客 2万+

Python鸡兔同笼问题

Python鸡兔同笼 使用for循环 鸡兔同笼问题 可以在修改 if (i4+j2)==80: 中的“80”来自定义腿的数量 for i in range(20): #python range() 函数可创建一个整数列表,一般用在 for 循环中 for j in range(40): if (i*4+j*2)==80: #一只兔子有4个脚,一只鸡有2个脚,那么4i只兔子加上2j只鸡=80 print('兔有:',i,'鸡有:',j) 还有

xmhhtl的博客 6770

基于matlab解决鸡兔同笼问题

鸡兔同笼问题是一种经典的数学问题,最早出自于《孙子算经》,详细成书时间不详,但可以确定的是,它不早于汉代,不晚于南北朝时期[6]。这个问题在中国数学史上具有重要的意义,因为它是中国数学(算学)第一次系统地提出一次方程组的解法。鸡兔同笼问题的基本形式是:已知笼子里鸡、兔共有多少只头和多少只脚,求鸡、兔各有多少只的问题。这个问题不仅在历史上占有重要地位,而且在小学教材和竞赛教学中都占有重要地位,是多种数学思想与解题方法的载体。解决鸡兔同笼问题的方法有很多,包括但不限于假设法、列方程法等。

珞瑜的博客 2082

基于python解决鸡兔同笼问题

鸡兔同笼问题?鸡兔同笼问题是一个经典的数学问题。问题描述:鸡和兔子共有头数a和脚数b,求鸡和兔子的数量。解析:设鸡的数量为x,兔子的数量为y,那么可以得到以下两个方程:1.x + y = a2.可以通过解这个二元一次方程组来求解鸡和兔子的数量。

珞瑜的博客 6116
上一篇: 饕餮纹问题
下一篇: 我似乎发现了一种很新的素数筛法
MaydayMerlin
博客等级 码龄3年 346粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值