大神帮忙解决C语言猴子吃桃的问题

发布网友 发布时间:2022-04-19 22:36

我来回答

2个回答

热心网友 时间:2023-07-02 18:17

#include<stdio.h>

int monkey_eat_peach(int day,int n,int m){  // 猴子吃桃递归算法
int peach;
if (day==n)
{
peach = 1;
printf("第%d天,有%d个桃子\n", day, peach);
return peach;
}else{
peach = (monkey_eat_peach(day + 1, n, m) + 1) * 2;
printf("第%d天,有%d个桃子\n", day, peach);
}

return peach;
}

int main(){
int n, m;  // n m的值你可选择由程序运行时再输入 
n = 10;
m = 1;
monkey_eat_peach(1, n, m);
return 0;
}

热心网友 时间:2023-07-02 18:17

#include<stdio.h>
int N,m; //吃到N天还没吃时,剩1个,全局变量
int funn(int n)
{
if(n==N)
return 1;
else
return 2*funn(++n)+2*m;
}
int main()
{
int days,y;
printf("输入N和m\n");
scanf("%d %d",&N,&m);
for(days=1;days<=N;days++)
{
y=funn(days);
printf("days%d\t%d\n",days,y);
if(y<0)
{
printf("有误");
break;
}
}
}
设昨天桃子数y,今天的桃子数t,(y,t均为该天未吃前的数量,即前一天吃过后留下的)
昨天吃掉(1.0/2)*y+m,剩余t=y-((1.0/2)*y+m)=(1.0/2)*y-m
关系式为y=2*t+2*m(y表示昨天,t表示今天)
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com

热门图文