链接
题目要求
【题目描述】
假设地球上的新生资源按恒定速度增长。照此测算,地球上现有资源加上新生资源可供x亿人生活a年,或供y亿人生活b年。为了能够实现可持续发展,避免资源枯竭,地球最多能够养活多少亿人?
【输入】
一行,包括四个正整数x,a,y,b,两个整数之间用单个空格隔开。x>y,a<b,ax<by,各整数均不大于10000。
【输出】
一个实数z,表示地球最多养活z亿人,舍入到小数点后两位。
【输入样例】
110 90 90 210
【输出样例】
75.00
程序分析
定义四个整型变量,整型变量用int 变量名;的形式定义。(多个变量之间用“,”隔开,注意一定要用英文格式!)
int x, a, y, b;
求 (a \times x) 和 (b \times y) 的差,用一个变量 t
来存储。
int t = a * x - b * y;
使用公式 z = (y * b - x * a) / (b - a),注意转换为 double 类型避免整数除法产生的截断
double z = (y * b - x * a) * 1.0 / (b - a);
程序实现
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
// 定义四个整型变量,用于存储输入的数据
int x, a, y, b;
// 从标准输入读取四个整数
cin >> x >> a >> y >> b;
// 计算地球最多能够养活的人口数
// 使用公式 z = (y * b - x * a) / (b - a),注意转换为 double 类型避免整数除法产生的截断
double z = (y * b - x * a) * 1.0 / (b - a);
// 输出 z,舍入到小数点后两位
cout << fixed << setprecision(2) << z << endl;
// 程序正常结束,返回 0
return 0;
}
程序测试
【输入】
110 90 90 210
【输出】
75.00