当前位置:首页 > 题解目录 > 正文内容

猴子吃桃

亿万年的星光4年前 (2021-01-28)题解目录1259

【题目描述】

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

【输入描述】

一行,表示第N天

【输出描述】

桃子总数

【样例输入】

10

【样例输出】

1534

【题目分析】

(1)如果N是定值可以当成小学奥数题来反推
(2)可以采用逆向思维,从后往前推

【参考代码1】

#include<cstdio>
int main() {
   int n,i,s=1;
   scanf("%d",&n);
   for(i=0; i<n-1; i++)
       s=2*(s+1);
   printf("%d",s);
   return 0;
}

【增加难度】

这是一道比较简单的递推题,根据公式推导即可,但是可以把这个题目加大难度,比如N<=100。那么普通的做法就会超范围。如果我把代码改成下面的样子

#include<cstdio>
int main() {
   long long n,i,s=1;
   scanf("%d",&n);
   for(i=0; i<n-1; i++)
       s=2*(s+1);
   printf("%lld",s);
   return 0;
}

最多支持62位,距离100位还有一段,所以要考虑使用高精度了。

阅读剩余的19%

扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

返回列表

上一篇:数列

下一篇:奶牛的耳语

相关文章

【算法】走迷宫

【题目描述】一个迷宫由R行C列格子组成,有的格子里有障碍物,不能走;有的格子是空地,可以走。给定一个迷宫,求从左上角走到右下角最少需要走多少步(数据保证一定能走到)。只能在水平方向或垂直方向走,不能斜...

【题解】装满杯子需要的最短总时长

【题目描述】现有一台饮水机,可以制备冷水、温水和热水。每秒钟,可以装满 2 杯 不同 类型的水或者 1 杯任意类型的水。给你一个下标从&nb...

迷宫

【题目描述】一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由n * n的格点组成,每个格点只有2种状态,.和#,前者表示可以通行后者表示不能通行。同时当Extense处在某个...

【题解】括号匹配问题

【题目描述】在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括...

【题解】2019 T2 公交换乘

【题目描述】著名旅游城市 B 市为了鼓励大家采用公共交通方式出行,推出了一种地铁换乘公交车的优惠方案:1、在搭乘一次地铁后可以获得一张优惠票,有效期为 45 分钟,在有效期内可以消耗这张优惠...

剪刀石头布

【题目描述】石头剪子布,是一种猜拳游戏。起源于中国,然后传到日本、朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲,到了近现代逐渐风靡世界。简单明了的规则,使得石头剪子布没有任何规则漏洞可钻,单次玩法比拼...