猴子吃桃-C语言

1. 问题:

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。 到第N天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。

2. 解答:

循环倒推。从第一天到第N-1天每天都是先吃一半,再吃一个,那么我们就可以从第N-1天往前推,先加一个,再乘以2。

(1)注意吃桃子的顺序,先吃一半,再吃一个;

(2)到了第N天发现还剩一个,说明第N天并没有吃;

(3)注意倒推时计算的顺序,先加1,再乘2。

3. 代码:

复制代码
#include<stdio.h>//头文件
int main()//主函数
{
    int i,N,s=1;        
//定义的s要赋值为1.
    scanf("%d",&N);
    for(i=1;i<N;i++)    
//注意循环次数,若是 N=10,则要循环 9 次
    {                   
//因为猴子是第 N 天就只剩 1 个桃子了,所以第 N 天就没有算上
        s=(s+1)*2;        
//从第 N 天往回推,每次都是 s 个桃子加 1 个再乘 2 最后当 i=N 时结束循环
    }
    printf("%d",s);        
//最后输出原来的桃子数 s 
    return 0;//函数返回值为0
}

4. 编译结果:

输入:6

输出:94

相关推荐
Sakuyu434683 分钟前
C语言基础--基本数据类型
c语言·开发语言
在坚持一下我可没意见5 分钟前
Python 修仙修炼录 05:循环神通,省去无用苦修
开发语言·python·面试·入门·循环·复习
ZHW_AI课题组11 分钟前
基于逻辑回归的乳腺癌预测分类
算法·分类·逻辑回归
Ricky_Theseus11 分钟前
B树和B+树的区别
数据结构·b树
胡志辉16 分钟前
贪心算法最坑的地方:每一步都看起来很对,最后还是错了
算法
代码北人生20 分钟前
GitHub 日榜第一、月下载 110 万:supervision 出现之前,写计算机视觉代码是什么感觉
算法·claude
techdashen23 分钟前
Rust 社区在 4 月做了什么:项目管理月报解读
开发语言·rust·mfc
南宫萧幕24 分钟前
HEV能量管理策略 Simulink 实战:从零搭建 Rule-based 与 A-ECMS 对比模型及排错指南
人工智能·算法·matlab·simulink·控制
萧戈24 分钟前
C/C++ 运行时库概念详解
c语言·c++
十五年专注C++开发24 分钟前
QFluentKit: 一个基于 Qt Widgets 的 Fluent Design 风格 UI 组件库
开发语言·c++·qt·ui·qfluentkit