猴子吃桃问题c语言 复杂度分析
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/15 08:35:37
![猴子吃桃问题c语言 复杂度分析](/uploads/image/f/6141807-63-7.jpg?t=%E7%8C%B4%E5%AD%90%E5%90%83%E6%A1%83%E9%97%AE%E9%A2%98c%E8%AF%AD%E8%A8%80+%E5%A4%8D%E6%9D%82%E5%BA%A6%E5%88%86%E6%9E%90)
intnum=1;for(inti=1;i
//---------------------------------------------------------------------------#includelonginthowmany(
#includemain(){inti,peach;peach=1;printf("Enteri:");scanf("%d",&i);while(i>1){i--;peach=(peach+1)*2;
其实这是个递归问题!思路分析如下:某一天吃的是前一天的一半还多一个,假设今天剩下为x1,昨天共有x2个桃子,它们的关系是:x1=x2/2-1,即x2=(x1+1)*2,那么既然已经知道今天剩下的桃子,
#includemain(){intx,i;for(x=1,i=0;i{x=2*(x+1);printf("%d",x);}}
#includeintmonkey(intday){intn;if(day==10)return1;elsereturnn=2*monkey(day+1)+2;}voidmain(){intm;sca
我把算法写下来inta=1;for(inti=9;i>0;i--){a=(a+1)*2;}这是JAVA的算法,C也一样.最后打印a就可以了就是(1+1)*2这个数就是第9天吃之前的数4.第8天就是(4
//程序分析:采取逆向思维的方法,从后往前推断.#includevoidmain(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;da
#includevoidmain(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;//第一天的桃子数是第2天桃子数加1后的2倍.x2=x1;day
voidmain(){inti=1;//第10天就剩一个了//第10天没吃所以吃了9天,执行9次循环for(intj=1;j
#include<stdio.h>int monkey_eat_peach(int day,int n,int m){ //&
#includeintsum(intday){inti,result=1;for(i=1;i再问:亲你是不是少了一个大括号?再答:恩,复制粘贴的时候弄少了,不好意思
#includevoidmain(){intpeachs=1;for(inti=1;i
你把x1,x2换成double型试试再问:请问我具体应该怎么写呢再答:第3行,int day;double x1,x2;补充:我知道原因了。以下代码在VS2012运行,主要原因是结
第一行不解释了第二行定义一个宏在之后的程序中LEN就是数字4接下来住函数定义2个int类型的变量ij定义一个静态的二维的字符数字长度5个数2给于初始值"8980"和"9198"第一个FOR从j=3开始
看看循环体的个数,一般来说循环体越多时间复杂度越高例如for(i:0->n)for(j:0->m){m+=n;}这段代码的操作执行次数是n*m如果n和m之间有函数关系,如n=2m.基本操作次数就是2m
死循环了!if(m-1>0&&(m-1)%5==0&&(m-1)/5!=0)//判断桃子能否合题分配这句里,之前m=1,这里始终不能成立,if不运行,然后就一直循环.
#include "stdio.h"int fun(int n){ if(n==1) &nbs
第9天:(1+1)*2=4第8天:(4+1)*2=10第7天:(10+1)*2=22第6天:(22+1)*2=46第5天:(46+1)*2=94第4天:(94+1)*2=190第3天:(190+1)*
#includeboolok(intn){\x09inti;\x09for(i=0;i再问:你能帮我补充补充我写的那个吗?再答:#includevoidmain(){ints1,s2,t;inti;f