描述
假设地球上的新生资源按恒定速度增长。照此测算,地球上现有资源加上新生资源可供x亿人生活a年,或供y亿人生活b年。 为了能够实现可持续发展,避免资源枯竭,地球最多能够养活多少亿人?
输入
一行,包括四个正整数x,a,y,b,两个整数之间用单个空格隔开
输出
一个实数,表示地球最多养活几亿人,保留两位小数。
#include <iostream>
#include <iomanip>
using namespace std;
int main(){
int x,a,y,b; //x亿人生活a年或y亿人生活b年
/*
double c; //可持续发展最多供养c亿人
设地球现有总资源now,每年新增资源up,每年每亿人消耗资源down
要维持可持续发展,避免资源枯竭,每年新增资源=每年消耗资源
now+up*a=down*a*x;
now+up*b=down*b*y;
两式相减,up*(a-b)=down(a*x-b*y)
即up/down = (a*x-b*y)/(a-b)
up=c*down;
c=up/down=(a*x-b*y)/(a-b);
可持续发展,每年新增的资源up = 每年消耗的资源c*down
*/
cin>>x>>a>>y>>b;
cout<<fixed<<setprecision(2)<<(double)(a*x-b*y)/(a-b)<<endl;
return 0;
}
该编程代码是解决一个数学问题,通过给定资源分配情况(x亿人生活a年或y亿人生活b年),计算在恒定资源增长速度下地球最多能养活的人口数,保留两位小数。
2341

被折叠的 条评论
为什么被折叠?



