栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【信息学奥赛】2068:【例2.6】鸡兔同笼(C++)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【信息学奥赛】2068:【例2.6】鸡兔同笼(C++)

今天来让我们来继续分析信息学奥赛一本通的第十八题,也就是按照题目的要求求出笼中的鸡和兔各有多少只。(并且,看了我的文章的人只有少数人点了赞,如果你觉得我写的好,或对你有帮助的话,请点赞!!!并收藏。谢谢!)

【题目描述及其目的】 2068:【例2.6】鸡兔同笼

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 24957                 通过数: 13242

【题目描述】

数学中经典的“鸡兔同笼”问题,已知头共x个,脚共y只,问笼中的鸡和兔各有多少只?

【输入】

头和脚的数量。

【输出】

鸡和兔各自数量。一个空格隔开。

【输入样例】

【输出样例】

 

【解题思路】 

这道题,首先我们需要变量鸡,兔,鸡兔一共的头数和脚数。首先要输入头数和脚数。然后我们需要循环,那么循环的条件是什么呢?大家仔细想,鸡和兔有多少头,不就说明鸡和兔一共有多少只吗?所以说在小于头的情况下,让他循环。大家在思考,如果鸡和兔一共有120只,那么鸡有没有可能是120只呢?不可能!兔也没有可能,所以如果鸡有1只,那么兔一定有头 - 1只,没错吧。如果循环是i = 1; i <= x; i ++的话 那么鸡就是i只,兔就是x - i只,那么最后只需要判断鸡×2 + 兔×4 是否 = 一共的脚数。如果是,就跳出循环,输出鸡和兔的只数,就可以了。

【源代码】
#include

using namespace std;

int main()
{
	
	int x, y;
	
	cin >> x >> y;
	
	int chicken = 0, ribbit = 0;
	
	for(int i = 0; i < x; i ++)
	{
		
		chicken = i;
		
		ribbit = x - i;
		
		if(chicken * 2 + ribbit * 4 == y)
		{
			break;
		}
	}
	
	cout << chicken << " " << ribbit;
	
	return 0;
}

【重要!!!】

过年好!!!在过年这么重要的日子里,点赞吧!!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/722705.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号