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;
}