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

输入格式:

输入在一行中给出正整数N(1<N10)。

输出格式:

在一行中输出第一天共摘了多少个桃子。

输入样例:

3
结尾无空行

输出样例:

10
结尾无空行
整体思路:
本题较为简单,从相反方向开始迭代N-1次便可。
整体代码:
#include <stdio.h>

int main (void){
    int input = 0;
    scanf ("%d",&input);
    int i = 0,sum = 1;
    for (i = 1;i < input;++i){
        sum = (1 + sum) * 2;
    }
    printf ("%d",sum);
    return 0;
}

讨论:

  • 迭代次数为N-1,sum初始值为1