欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

1005:地球人口承载力估计--信息学奥赛一本通题解

程序员文章站 2022-03-14 23:48:02
...

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

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

【输入】
一行,包括四个正整数x,a,y,b,两个整数之间用单个空格隔开。x>y,a<b,ax<by,各整数均不大于10000。

【输出】
一个实数z,表示地球最多养活z亿人,舍入到小数点后两位。

【输入样例】
110 90 90 210
【输出样例】
75.00
【来源】

No

分析:小学奥数题,因为ax<by;所以用by-ax求出增长的资源数量除去b-a这个人数就是自然增长能养活的人数;

#include<bits/stdc++.h>
using namespace std;
int read()
{
	int ans=0;bool f=0;char ch=getchar();
	while(ch<'0' or ch>'9'){if(ch=='-')f=1;ch=getchar();};
	while(ch>='0' and ch<='9'){ans=(ans<<1)+(ans<<3)+(ch^48);ch=getchar();};
	return f?~ans+1:ans;
}
int a,b,x,y;
float z;
int main()
{
	x=read(),a=read(),y=read(),b=read();
	z=(y*b-x*a)/(b-a);
	printf("%.2f",z);
	return 0;
}

分析:%.2f这个是输出2位小数的用法

相关标签: noip