2585: 【例11.1】鸡兔同笼
内存限制:64 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:108
解决:90
题目描述
数学中经典的“鸡兔同笼”问题,已知头共$x$个,脚共$y$只,问笼中的鸡和兔各有多少只?
输入
头和脚的数量。
输出
鸡和兔各自数量。一个空格隔开。
样例输入 复制
30 90
样例输出 复制
15 15
提示

假设全部是鸡,则有60条腿;每一只鸡变成一只兔,腿多了2条;
现在多了90-60=30条腿,所以有30/2=15只鸡变成兔子,鸡有30-15=15只;
#include<bits/stdc++.h> using namespace std; int x,y,c,r; int main(){ cin>>x>>y; r=(y-2*x)/2; c=x-r; cout<<c<<' '<<r; return 0; }
抬腿法:
所有鸡抬起腿(只有1条腿),所有兔子站起来(只有2条腿),则有90/2=45条腿;
兔子比鸡多1条腿,所以兔子有 45-30=15只,鸡有30-15=15只;
#include<bits/stdc++.h> using namespace std; int x,y,c,r; int main(){ cin>>x>>y; r=y/2-x; c=x-r; cout<<c<<' '<<r; return 0; }