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

相关推荐
晨非辰25 分钟前
#C语言——刷题攻略:牛客编程入门训练(四):运算(二)
c语言·开发语言·经验分享·学习·visual studio
爱喝水的鱼丶28 分钟前
SAP-ABAP:ABAP Open SQL 深度解析:核心特性、性能优化与实践指南
运维·开发语言·数据库·sql·性能优化·sap·abap
恣艺29 分钟前
LeetCode 132:分割回文串 II
算法·leetcode·代理模式
魔都吴所谓1 小时前
【go】map基础操作
开发语言·后端·golang
LZQqqqqo2 小时前
C# 中生成随机数的常用方法
java·算法·c#
程序员编程指南2 小时前
Qt 嵌入式 Linux 系统定制全指南
linux·c语言·开发语言·c++·qt
葵续浅笑3 小时前
LeetCode - 合并两个有序链表 / 删除链表的倒数第 N 个结点
java·算法·leetcode
Chef_Chen6 小时前
从0开始学习R语言--Day54--双重固定模型
学习
宇寒风暖7 小时前
Flask 框架全面详解
笔记·后端·python·学习·flask·知识
seabirdssss7 小时前
错误: 找不到或无法加载主类 原因: java.lang.ClassNotFoundException
java·开发语言