洛谷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 占位符使输出保留两位小数

相关推荐
泡沫冰@15 分钟前
数据结构(20)
数据结构
松涛和鸣19 分钟前
11.C 语言学习:递归、宏定义、预处理、汉诺塔、Fibonacci 等
linux·c语言·开发语言·学习·算法·排序算法
IT痴者1 小时前
《PerfettoSQL 的通用查询模板》---Android-trace
android·开发语言·python
2501_941111242 小时前
C++与自动驾驶系统
开发语言·c++·算法
2501_941111692 小时前
C++中的枚举类高级用法
开发语言·c++·算法
chilavert3182 小时前
技术演进中的开发沉思-191 JavaScript: 发展历程(上篇)
开发语言·javascript·ecmascript
jz_ddk2 小时前
[算法] 算法PK:LMS与RLS的对比研究
人工智能·神经网络·算法·信号处理·lms·rls·自适应滤波
Miraitowa_cheems2 小时前
LeetCode算法日记 - Day 106: 两个字符串的最小ASCII删除和
java·数据结构·算法·leetcode·深度优先
旭编2 小时前
小红的好矩形
c++·算法