今天来让我们来继续分析信息学奥赛一本通的第十八题,也就是按照题目的要求求出笼中的鸡和兔各有多少只。(并且,看了我的文章的人只有少数人点了赞,如果你觉得我写的好,或对你有帮助的话,请点赞!!!并收藏。谢谢!)
【题目描述及其目的】 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; }
过年好!!!在过年这么重要的日子里,点赞吧!!!



