
C语言,一只猴子摘了N个桃子第一天吃了一半又多吃了一个,第二天又吃了余下的 一半又多吃了一个………… 5
一只猴子摘了N个桃子第一天吃了一半又多吃了一个,第二天又吃了余下的一半又多吃了一个,到第十天的时候发现还有一个...
一只猴子摘了N个桃子第一天吃了一半又多吃了一个,第二天又吃了余下的一半又多吃了一个,到第十天的时候发现还有一个
展开
展开全部
#include<bits/stdc++.h>
using namespace std;
void dfs(int &x,int cnt){//第cnt天,还没有吃拥有的数量
if(cnt==10) x=1;
else{
int t=x/2-1;//吃掉了一半还多吃了一个后剩下的数量
dfs(t,cnt+1);
x=(t+1)*2;
//cout<<x<<" "<<cnt<<endl;
}
}
int main(){
int ans;
dfs(ans,1);
cout<<ans<<endl;
}
using namespace std;
void dfs(int &x,int cnt){//第cnt天,还没有吃拥有的数量
if(cnt==10) x=1;
else{
int t=x/2-1;//吃掉了一半还多吃了一个后剩下的数量
dfs(t,cnt+1);
x=(t+1)*2;
//cout<<x<<" "<<cnt<<endl;
}
}
int main(){
int ans;
dfs(ans,1);
cout<<ans<<endl;
}
更多追问追答
追问
void dfs(int &x,int cnt)
x和cnt是形参吧,为什么x前面有个&?
追答
表示引用
展开全部
#include<stdio.h>
int f(int x)
{
if(x==10) return 1;
return (f(x+1)+1)*2;
}
int main()
{
int i;
for(i=1; i<=10; i++)
printf("%d\n", f(i));
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int main()
{
int m=10,t=1;
for(m,m==0,m--)
{
t=2*(t+1);
}
printf("总共摘了%d个桃",t);
return 0;
}
int main()
{
int m=10,t=1;
for(m,m==0,m--)
{
t=2*(t+1);
}
printf("总共摘了%d个桃",t);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询