猴子第一天摘下若干个桃子,当即吃了一半,不过瘾又多吃了一个,第二天又将剩下的桃子吃掉一半又多一个,以后每天都吃前一天剩下的一半零一个,到第十天想再吃时,只剩下一个桃子,求第一天共摘了多少个桃子?
会c语言的帮帮忙
答案:4 悬赏:20 手机版
解决时间 2021-07-18 15:57
- 提问者网友:爱了却不能说
- 2021-07-18 01:04
最佳答案
- 五星知识达人网友:冷風如刀
- 2021-07-18 02:16
程序代码如下:
#include <iostream.h>
void main()
{
int taozi=0;
int a[11]={0};
int i=0;
a[10]=1;//第十天的桃子
cout<<"第10天有:"<<a[10]<<"个桃子"<<endl;;
for(i=9;i>=1;i--)
{
a[i]=(a[i+1]+1)*2;
cout<<"第"<<i<<"天有:"<<a[i]<<"个桃子"<<endl;;
}
cout<<endl<<"猴子总共摘了:"<<a[1]<<"个桃子。"<<endl;
}
程序运行结果:
全部回答
- 1楼网友:不想翻身的咸鱼
- 2021-07-18 03:41
终于做出来了:递归算法:
#include <iostream.h> int f(int n,int taozi) { if(n==1)return taozi; else { cout<<"n:"<<n<<",taozi:"<<taozi<<endl; return f(n-1,(taozi+1)*2); }
}
void main() { int taozi=f(10,1);//第十天,一个桃子 cout<<"taozi:"<<taozi<<endl;//输出第一天的桃子,即猴子摘得桃子数 }
- 2楼网友:神的生死簿
- 2021-07-18 03:22
#include<stdio.h>
void main()
{
int day,x1,x2,n;
x2=1;
printf("输入吃了几天:");
scanf("%d",&n);
day=n;
while(day>0)
{
x1=(x2+1)*2;//第一天的桃子数是第2天桃子数加1后的2倍
printf("第%d天",n-day+1);
x2=x1;
day--;
printf("吃了%d个桃子",x2);
printf("\n");
}
- 3楼网友:不如潦草
- 2021-07-18 02:43
结果是1534:
用while循环:
#include <stdio.h>
void main() { int sum=1,day=9;
while(day) { sum=2*(sum+1); day--; } printf("%d\n",sum); }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯