题解:洛谷 P5743 【深基7.习8】猴子吃桃

【题目来源】

洛谷:P5743 【深基7.习8】猴子吃桃 - 洛谷 (luogu.com.cn)

【题目描述】

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

【输入】

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

【输出】

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

【输入样例】

4

【输出样例】

22

【算法标签】

《洛谷 P5743 猴子吃桃》 #模拟#

【代码详解】

#include <bits/stdc++.h>  // 包含标准库头文件(万能头文件)
using namespace std;      // 使用标准命名空间

int main()
{
    int n;               // 定义变量:天数n
    int peach = 1;       // 定义变量:初始桃子数量(第n天剩余1个)
  
    cin >> n;            // 输入天数n
  
    // 逆向推导第1天的桃子数量
    for (int i = 1; i < n; i++) 
    {
        peach += 1;      // 先补回猴子吃掉的那个桃子
        peach *= 2;      // 恢复到前一天的桃子数量(翻倍)
    }
  
    cout << peach;       // 输出第1天的桃子数量
  
    return 0;            // 程序正常结束
}

【运行结果】

4
22
posted @ 2026-02-17 08:19  团爸讲算法  阅读(1)  评论(0)    收藏  举报