用递归方法解决猴子吃桃问题

用递归方法解决猴子吃桃问题

 

 

1、方法一(while语句)

我以while语句为例,do while等也可以实现,留给读者自己思考、修改

//方法一:
//  Created by Neil Wesley on 16/5/23.
//  Copyright © 2016年 Neil Wesley. All rights reserved.

#include<stdio.h>
int main()
{
    int day=9,x1=0,x2=1;
    while (day>0)
    {
        x1=(x2+1)*2;
        x2=x1;
        day--;
    }
    printf("The first day of picking peaches number is:%d\n",x1);
}

2、方法二(for循环)

//方法二:
//  Created by Neil Wesley on 16/5/23.
//  Copyright © 2016年 Neil Wesley. All rights reserved.

#include<stdio.h>
int main()
{
    int day=9,x1=0,x2=1;
    for(;day>0;day--)
    {
        x1=(x2+1)*2;
        x2=x1;
    }
    printf("The first day of picking peaches number is:%d\n",x1);
}

3、方法三(递归方法)

方法三:
//  Created by Neil Wesley on 16/5/23.
//  Copyright © 2016年 Neil Wesley. All rights reserved.

#include "stdio.h"
int sumPeach(int day)
{
    if (day == 10)
        return 1;
    else
    return 2 * sumPeach(day + 1) + 2;
}
int main()
{
    int sum;
    sum=sumPeach(1);
    printf("The first day of picking peaches number is:%d\n",sum);
}

三、运行结果

以上三种方法的运行结果都是:

运行结果