1005:地球人口承载力估计 题解

题目链接

题目描述

假设地球上的新生资源按恒定速度增长。照此测算,地球上现有资源加上新生资源可供\(x\)亿人生活\(a\)年,或供\(y\)亿人生活\(b\)年。
为了能够实现可持续发展,避免资源枯竭,地球最多能够养活多少亿人?

解题思路

经典的牛吃草问题,只是换了一个问法而已。
可以戳这里,也可以看下面的解释。
由于地球发展的过程中,资源是不断增加的,所以解决该问题的重点是要想办法从变化中找到不变量。
地球上原有的资源是不变的,新生的资源虽然在变化,但由于是匀速增加,所以每年新生出的资源应该是不变的。
由于这个不变量,我们能够导出公式:
\(每天新生资源=\frac{yb-xa}{b-a}\)
将题目输入数据代入公式,解出答案并输出。
还有要记得用double类型的%.2lf输出!!!

AC Code

#include<bits/stdc++.h> 
using namespace std;
int main()
{
    int x,a,y,b;
    double z;
    scanf("%d%d%d%d",&x,&a,&y,&b);
    z=(double)(b*y-a*x)/(b-a);
    printf("%.2lf",z);
    return 0;
}

Tip

%.2lf也可用iomanip库中的setprecision(2)fixed配合cout输出。

posted @ 2024-07-20 15:21  Firra3500  阅读(32)  评论(0编辑  收藏  举报