2585: 【例11.1】鸡兔同笼
内存限制:64 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:123
解决:99
题目描述
数学中经典的“鸡兔同笼”问题,已知头共$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;
}