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

关于C语言的问题,猴子吃桃!猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾有多吃了一个,第二天早上又将剩下的桃子吃掉一半又多吃了一个,以后每天早上都吃了前一天剩下的一

题目详情
关于C语言的问题,猴子吃桃!猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾有多吃了一个,第二天早上又将剩下的桃子吃掉一半又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个第10天早上想在吃时,就只剩下一个桃子了,求第一天共摘了多少桃子?
▼优质解答
答案和解析
这个问题简单的解是: #include intmain() { inti,x=1; for(i=9;i>0;i--) x=(x+1)*2; printf("第一天共摘了%d只桃子\n",x); return1; } 运行结果: 第一天共摘了1534只桃子 这是用循环做的,其实这是一个典型的数列问题 可以得出公式的. 我给你解一下: 设第n天的桃子数为p[n],这也是第n-1天吃剩下的.(在百度回答没有下标,只好用借C语言的数组) 则有:p[10]=1 p[i]=(p[i-1]/2)-1 下面用递推式得出一般项 p[i]=(p[i-1]/2)-1 2(p[i]+1)=p[i-1] 2(p[i]+2)=p[i-1]+2 这是一个关于p[i]+2的等比数列,可得通项(这里是用语言表示幂) p[i]+2=(p[10]+2)*{2的(10-i)次方} p[i]=(p[10]+2)*{2的(10-i)次方}-2 用这种方法做可这样写程序: #include #include intmain() { intna=10;//已知剩余的天数 doublepa=1;//已知的剩余数 intnx=1;//欲求剩余的天数 doublepx;//欲求的剩余数 if((na-nx)>=0) { px=ldexp((1+2),(9))-2; /////////////////////////////////////// // //函数原型:doubleldexp(doublenum,intexp); //返回:num*{2的exp次幂} // /////////////////////////////////////// inti=(int)px;//取整数 printf("第一天共摘了%d只桃子\n",i); } return1; }
看了关于C语言的问题,猴子吃桃!猴...的网友还看了以下:

4只猴吃桃第一只猴吃了桃总数的一半又半个,第二只猴吃了余下桃的一半又半个,第四只猴吃了第三只猴吃完  2020-05-21 …

三只猴子分一堆桃,第一只猴子先拿了这堆桃的一半少1个,第二只猴子拿了余下桃子的一半多1个;第三只猴  2020-05-22 …

帮我做道题:有5个人一个猴分桃,第一个人把桃分了5=份剩一个给了猴就走了第二个人把桃也分了5=份剩  2020-06-03 …

狐狸和猴子短文中:如果你是猴子,这题怎么写?树,树上长满了大桃子.狐狸想吃桃子,可是过不了河.猴子  2020-06-04 …

小猴摘桃子,第一支捉到16个,第二个比第一个少摘2个,第三只猴子又比第二只猴子少摘2个,以此内推,  2020-06-05 …

三个小猴分桃吃,第一个小猴拿了总数的三分之一,第二个小猴拿了剩余桃子的三分之一,第二个小猴拿了剩余  2020-06-10 …

有四个猴子摘了一堆桃子约定明天早上来分四只猴子摘了一堆桃子,它们准备先回去睡一觉后再来分桃子,过了  2020-07-07 …

猴子去桃园吃桃.猴子去桃园吃桃,第一群猴子吃了桃园的一半多半个,第二群猴子吃了桃园剩下的一半多半个  2020-07-12 …

5只猴子摘桃子...分桃子吃...5只猴子一起摘了1堆桃子,因为太累了,它们商量决定,先睡一会再分  2020-07-20 …

大家行行好.1、动物园为猴山的猴买桃,这些桃如果每只猴分5个,还剩32个,如果其中10只小猴分4个,  2020-11-06 …