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
输出。