拼题A上卡出的难题,求会的人解答

小猴子第一天摘下桃子若干,当即吃掉一半,还不过瘾,又多吃一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。聪明的你,请帮悟空算一下,他第一天开始吃的时候桃子一共有多少个呢?。
请通过递归形式实现。

函数接口定义:
int Peach(int day);
该函数返回第day天所剩的桃子。用递归实现。

裁判测试程序样例:
#include <stdio.h>
int n;
int Peach(int day);
int main ()
{
scanf("%d", &n);
printf("%d\n", Peach(1));
return 0;
}

/* 请在这里填写答案 */
输入样例:
3
输出样例:
10

已知公鸡5元1只,母鸡3元1只,小鸡1元3只。现用n元钱买n只鸡,问总共有几种买法?各种买法的公鸡、母鸡、小鸡各多少只(某种鸡可以为0只)?

输入格式:
首先输入一个整数T(T<=30),表示测试数据的组数,然后是T组测试数据。对于每组测试数据,输入一个整数n(100<=n<=10000)。

输出格式:
对于每组测试,先输出买法总数,再按公鸡、母鸡、小鸡的数量(按公鸡数从小到大的顺序)逐行输出各种买法(每行数据之间空一个空格)。

输入样例:
1
100
输出样例:
4
0 25 75
4 18 78
8 11 81
12 4 84

int Peach(int day)
{
    if(day==n){
        return 1;
    }
    else
    return 2 *Peach(day+1) + 2;
}

img


你题目的解答代码如下:

#include <stdio.h>
int n;
int Peach(int day);
int main ()
{
    scanf("%d", &n);
    printf("%d\n", Peach(1));
    return 0;
}

int Peach(int day)
{
    if (day==n)
        return 1;
    return (Peach(day+1) + 1) * 2;
}

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632