
1117 人口问题
初始化变量:设 ( y = 45 ) 代表1980年的世界人口,( x ) 为输入的目标人口数(以亿为单位)。 循环计算:从第0年开始,逐年计算人口增长,直到 ( y ) 超过或等于 ( x )。 输出结果:当循环结束时,输出 ( 1980 + i ) 年,其中 ( i ) 为循环次数。
发布日期:2021-05-08 21:18:22
浏览次数:13
分类:精选文章
本文共 770 字,大约阅读时间需要 2 分钟。
世界人口增长问题
题目描述
1980年世界人口已达45亿,按年增长率1%计算,问从什么年份开始世界人口突破N亿。(N是一个大于45亿的数)
输入要求
输入一个实数N,单位是亿。例如,输入数字46.2表示46.2亿。
输出要求
输出对应的年份值,年份值为整数。
输入样例
45.95
输出样例
1983
解题思路
我们可以使用指数增长模型来解决这个问题。已知初始人口为45亿,年增长率为1%,因此每年的人口可以表示为:[ P = 45 \times (1 + 0.01)^t ]其中,( t ) 表示年份(从1980年开始计算)。
我们需要找到最小的整数 ( t ),使得:[ 45 \times (1.01)^t \geq N ]
解题步骤
代码示例
#includeint main() { double x, y = 45.0; int i; scanf("%lf", &x); for (i = 0; y <= x; i++) { y *= 1.01; } printf("%d\n", 1980 + i);}
代码解释
- 输入处理:使用
scanf
函数读取输入的目标人口数 ( x )。 - 循环计算:从1980年开始,逐年计算人口增长,每年的增长率为1%。
- 输出结果:当人口数超过或等于目标数时,输出对应的年份。
通过上述方法,我们可以准确计算出世界人口突破指定值的年份。
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年03月29日 18时53分33秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
HTML 和 CSS 简单实现注册页面
2019-03-04
趣谈win10常用快捷键
2019-03-04
11.2.6 时间值的小数秒
2019-03-05
Redis源码分析(七)--- zipmap压缩图
2019-03-05
【MySQL】(九)触发器
2019-03-05
Oracle 11G环境配置
2019-03-05
【Python】(十二)IO 文件处理
2019-03-05
【Oozie】(三)Oozie 使用实战教学,带你快速上手!
2019-03-05
师兄面试遇到这条 SQL 数据分析题,差点含泪而归!
2019-03-05
C语言的数值溢出问题(上)
2019-03-05
8051单片机(STC89C52)以定时器中断模式实现两倒计时器异步计时
2019-03-05
vue项目通过vue.config.js配置文件进行proxy反向代理跨域
2019-03-05
android:使用audiotrack 类播放wav文件
2019-03-05
聊聊我的五一小假期
2019-03-05
数据库三个级别封锁协议
2019-03-05
ACM/NCPC2016 C Card Hand Sorting(upc 3028)
2019-03-05
ubuntu学习笔记-常用文件、命令以及作用(hosts、vim、ssh)
2019-03-05
SLAM学习笔记-求解视觉SLAM问题
2019-03-05