1005 地球人口承载力问题

假设地球上的新生资源按恒定速度增长。照此测算,地球上现有资源加上新生资源可供x亿人生活a年,或供y亿人生活b年。

为了能够实现可持续发展,避免资源枯竭,地球最多能够养活多少亿人?

输入 一行,包括四个正整数x,a,y,b,两个整数之间用单个空格隔开。x > y,a < b,ax < by,各整数均不大于10000 输出 一个实数z,表示地球最多养活z亿人,舍入到小数点后两位。

样例输入

110 90 90 210

样例输出

75.00

代码实现如下:

#include  
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份

新生资源按恒定速度增长,且资源生长要够使用,即最多可养活的人数也是新生资源的份数。

你可能感兴趣的:(信奥)