早教吧 育儿知识 作业答案 考试题库 百科 知识分享

关于猴子吃桃问题猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾有多吃了一个,第二天早上又将剩下的我编的程序是这样的:看看编得对不对#includeintmain(){doublei=1,k;//i为桃子数,k为天

题目详情
关于猴子吃桃问题猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾有多吃了一个,第二天早上又将剩下的
我编的程序是这样的:看看编得对不对
#include
int main()
{double i=1,k;//i为桃子数,k为天数
int j;
for(;i






▼优质解答
答案和解析
用递归法:程序如下:
#include "stdio.h"
int qitao(int n);/*在主函数之前作调数函数说明*/
void main()
{
int tianxu;/*定义变量天数*/
int taozixu;/*定义变量桃子数*/
printf("请输入天数:");/*在屏幕上显示天数输入说明*/
scanf("%d",&tianxu);/*获取用户输入天数给变量tianxu*/
taozixu= qitao(tianxu);/*调用自定义函数qitao(int n)*/
printf("第一天的总桃子数目为%ld",taozixu);/*在屏幕上打印出桃子的总数*/
\x09
}
int qitao(int n)/*自定义函数qitao(int n)以计算n天前的桃子数目*/
{
\x09int x;/*定义函数返回值即桃子总数*/
\x09if(n==1)/*如果是最后一天时*/
\x09x=1;/*桃子在最后一天时数目*/
\x09else
\x09x=2*(qitao(n-1)+1);/*前一天的桃子数目等于后一天数量加1乘2*/
\x09return x;/*递归返回桃子数*/
\x09
}
别外根据你实在的要求是想人家帮你修改你的程序,你的算法其实也是可以算出来的,你是假设了一个很大的数域里面存在着一个数,它经过10天后,就是1,不过你写的程序不对,应修改如下:
#include
void main()
{
\x09long int i=1,k;//i为桃子数,k为天数
long int j;
for(i=1;i
看了关于猴子吃桃问题猴子第一天摘下...的网友还看了以下: