假设地球上的新生资源按恒定速度增长。照此测算,地球上现有资源加上新生资源可供x亿人生活a年,或供y亿人生活b年。
为了能够实现可持续发展,避免资源枯竭,地球最多能够养活多少亿人?
输入 一行,包括四个正整数x,a,y,b,两个整数之间用单个空格隔开。x > y,a < b,ax < by,各整数均不大于10000 输出 一个实数z,表示地球最多养活z亿人,舍入到小数点后两位。
样例输入
110 90 90 210
样例输出
75.00
代码实现如下:
#include <cstdio>
int main() {
int a,b,x,y;
scanf("%d%d%d%d",&x,&a,&y,&b);
float z;
z=(b*y-a*x)*1.0/(b-a);
printf("%.2f",z);
return 0;
}
怎么理解?
假设一亿人一年消耗1份
那么110亿人90年消耗资源:
110×90=9900份
90亿人210年消耗资源为:
90×210=18900份
每年新生资源: (18900-9900)/(210-90)=75份
新生资源按恒定速度增长,且资源生长要够使用,即最多可养活的人数也是新生资源的份数。