题目
假设地球上的新生资源按恒定速度增长。照此测算,地球上现有资源加上新生资源可供x亿人生活a年,或供y亿人生活b年。为了能够实现可持续发展,避免资源枯竭,地球最多能够养活多少亿人?
【输入】
一行,包括四个正整数x,a,y,b,两个整数之间用单个空格隔开。x > y,a < b,ax < by,各整数均不大于10000
【输出】
一个实数z,表示地球最多养活z亿人,舍入到小数点后两位。
【输入样例】
110 90 90 210
【输出样例】
75.00
分析
- 牛吃草变种
- 设地球现在资源为n,每年增长的资源为p,每亿人每年消耗的资源为c,依题意有2个等式
- cxa=n+p*a
- cyb=n+p*b
- 避免资源枯竭,每年消耗的资源最大量=每年增长的资源,此时最大人口数p/c。
- 两方程联立求得p/c=(ax-by)/(a-b)
- 输入x,a,y,b,输出(ax-by)/(a-b)
代码
#include<iostream>
using namespace std;
int main(){
int x,y,a,b;
cin>>x>>a>>y>>b;
double res;
res=(a*x-b*y)/(a-b);
printf("%.2lf",res);
return 0;
}