用递归方法解决猴子吃桃问题
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);
}
三、运行结果
以上三种方法的运行结果都是: