大神我求第一天猴子吃的桃子调用怎么就是搞不明白我到底哪里路子不对或者说我已开始就努力错了方向
#include <stdio.h>
int getPeachNumber(int n)
{
int num; //定义所剩桃子数
if(n==10)
{
return 1;
}
else
{
num=getPeachNumber(((n+1)+1)*2);
printf("第%d天所剩桃子%d个 ", n, num); //天数,所剩桃子个数
} return num;
}
int main()
{
int num = getPeachNumber(1);
printf("猴子第一天摘了:%d个桃子。 ", num);
return 0;
}
我不清楚你算法的意义,也不知你题目要求。但可以肯定的是,你的算法肯定是错的
F(n)=F((n+2)*2);且F(10)=1
问题是
当初始值为1时
F(n)的n参数可能为1,6,16,36,76,156,....它是不可能为10的
所以你的公式加初始条件是不能有结束的(死循环了)
这类题目考的不是计算机知识,而是纯数学,只要你找到合适的算法,程序简单的
热门标签: