猴子吃桃-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

相关推荐
休息一下接着来3 分钟前
C++ 固定容量环形队列实现
c++·算法
Victory_20256 分钟前
c#定时器顺序控制写法
开发语言·c#·c#顺序控制+定时器
Cyber4K23 分钟前
【Python专项】Nginx访问日志分析时间范围处理示例
开发语言·python·nginx
中犇科技32 分钟前
郑州无代码APP开发公司哪家好呢?推荐
开发语言
im_AMBER35 分钟前
手撕hot100之矩阵!看完这篇就AC~
javascript·数据结构·线性代数·算法·leetcode·矩阵
周末也要写八哥35 分钟前
代码中的注释的重要性(二)
开发语言·python
笨笨饿41 分钟前
#79_NOP()嵌入式C语言中内联汇编宏的抽象封装模式研究
linux·c语言·网络·驱动开发·算法·硬件工程·个人开发
如君愿1 小时前
考研复习 Day 30 | 习题--计算机网络 第五章(运输层 上)、数据结构 图(上)
数据结构·计算机网络·课后习题
weixin_421725261 小时前
C语言中volatile关键字怎么用C语言volatile在多线程中的作用
c语言·数据结构·运算符优先级·变量命名·volatile关键字
星河耀银海1 小时前
C语言与数据库交互:SQLite实战与数据持久化
c语言·数据库·sqlite·交互