洛谷C++简单题小练习day16—猴子吃桃,地球人口承载力估计两个小程序

day16--(深基7.习8)猴子吃桃--2.20

习题概述

题目描述

一只小猴买了若干个桃子。第一天他刚好吃了这些桃子的一半,又贪嘴多吃了一个;接下来的每一天它都会吃剩余的桃子的一半外加一个。第 n 天早上起来一看,只剩下 1 个桃子了。请问小猴买了几个桃子?

输入格式

输入一个正整数 n,表示天数。

输出格式

输出小猴买了多少个桃子。

代码部分

#include<bits/stdc++.h>
using namespace std;

int main() {
    int n;
    cin >> n;

    int tao = 1;
    for (int i = 1; i < n; i++) {
        tao = (tao + 1) * 2;
    }

    cout << tao << endl;

    return 0;
}

心得体会

逆序思想,解决这个问题:吃剩余的桃子的一半外加一个转变为加一个再乘其一半;题干是剩余一个桃子,那么我们就从一个桃子开始逐渐递增!输出的结果也就是最初买的桃子数了。


day16-- 地球人口承载力估计**--2.20**

习题概述

题目描述

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

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

输入格式

一行,包括四个正整数x,a,y,b,两个整数之间用单个空格隔开。

输出格式

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

代码表示

法(一)

#include<bits/stdc++.h>
using namespace std;

int x, a, y, b;
int main() {
	cin >> x >> a >> y >> b;
	cout << fixed << setprecision(2) << (double)(x*a-y*b)/(a-b)<<endl;
	return 0;
}

法(二)

#include<bits/stdc++.h>
using namespace std;

int main()
{
    int a, x, b, y;
    cin >> x >> a >> y >> b;
    printf("%.2f", double(b*y-a*x)/(b-a));
    // %.2f 占位符使输出保留两位小数
    return 0;
}

心得体会

1.要学会提前分析:

我们可以设地球现有资源为 m,一年增加量为 n。

2.问的表示地球最多养活 z 亿人,这个z指的是一年的增加量,即新生资源的增加量;

3.注意舍入到小数点2位的话,两种方式:

1) cout << fixed << setprecision(2) << (double)(x*a-y*b)/(a-b)<<endl;

2) printf("%.2f", double(b*y-a*x)/(b-a)); 注意:%.2f 占位符使输出保留两位小数

相关推荐
dengjiayue4 分钟前
golang 高性能的 MySQL 数据导出
开发语言·mysql·golang
折枝寄北9 分钟前
从零开始 | C语言基础刷题DAY1
c语言·开发语言·算法
.ccl37 分钟前
蓝桥杯省赛真题C++B组2024-握手问题
c++·算法·蓝桥杯
xiyuping2438 分钟前
在VMware上创建虚拟机Ubuntu20.04(适合学习版,包含gparted vim git的下载)
git·学习·ubuntu·vim
arong_xu1 小时前
C++20 新特性总结
算法·c++20
hrrrrb1 小时前
【C语言】指针篇
c语言·数据结构·算法
weixin_307779131 小时前
PyTorch调试与错误定位技术
开发语言·人工智能·pytorch·python·深度学习
神里流~霜灭1 小时前
下降路径最⼩和(medium)
数据结构·c++·算法·链表·贪心算法·动态规划
tan180°1 小时前
版本控制器Git(1)
c++·git·后端
编程绿豆侠1 小时前
力扣HOT100之双指针:11. 盛最多水的容器
算法·leetcode·职场和发展