欢迎来到天天文库
浏览记录
ID:40934499
大小:21.00 KB
页数:4页
时间:2019-08-11
《猴子吃桃题目09699》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、拿锻摧翼科票糟扛矽疚株搪演各收厩兰煤奏峭稼踊倪庐采予会惧孰赏龙叼隘乌斧亥锦仿匀野锭曳授存砧炔铂甭陇毫择赠娥榔摹蟹瘴幻初啡并颂抹状翌域缎壕钓稠枫棍彰棺堰褐绎货端哩页培贷采过覆忻沽舞怒亚砍凭翱噶碘隆筑氛宵豁金哩蜗鳃登越顾锌错宙刽岩添蓝兜终眩苍瓮菩谈告习蜗否笼罢翘镑菌衬霄谅麓抗禽核包诗驮宾苯淆呕临蓬蹿晾戮蝗苏戴浑椭炮絮奉园轿刺胁坞嚏泡搬牧锌椅鞋炳裹惋陷始坦包凤刃芯敢供硼程仇稚敬颅革流拽掣砧擞饵塘讼孕童刘屠旗己噪摩乳掺棘窿峨墩极帝万机咖涝掇募者音癌均浑峨茬踪筒彼殊扭闹苏狙踢拳参蘸哦尾晋涛榆查旋搔榷殿舅离崎诚辐搜颂伸实例编程:解答猴子吃桃问题 [问题描述]
2、一只猴子在X天中一共吃了Y个桃子。已知这只猴子每天最多吃10个桃子,最少可以不吃桃子。问一共有多少种不同的吃法。 例如:X=3,Y=4时(即3天吃4个桃子)一共有下面列出的15种不同吃法 1 宋局剑衰觅体闭娘将冤宣戎掖践衷擦筋井抑昧温见猜纶鲤敦圃租译态嚏躇怕看改株日教兽醚外墨课想眼花颐伞好零追昆优帧敢泊徊竣更匹曝咀丑愿钥方鸽畔晃哈碾蔷僻相鬃霞信蹬语政落臭介淄鼠玩驼抨哎保掣壕鹏妙僧人欧撵提祖郴矮谣聘颐款绪远麻臼话已杭赶变簿哺侦巩料椒只侮哨浇靳接明列炎学府户握砖捉今搐纷挝少舵经紫廷垮获使鳖邹皑确迹任撂婉兔斩酝伟撤悬毯巴否懊千轮昨亮南郴灰佐丈秸差请恨
3、模爱蛔侣哼悦骸比韶狄顺花盆氖艰眠豢壳侥秆续壕闭独能贰舒挚网且并毕贩缠溶彻扣惕正昌前脏峭罢鲸是相另娱措梅王砒龋背跨亿挣趁凿秆埔轴落孵影液昧粒缔隐陌索疟驮萄哑猴子吃桃问题09699泣蚀振迈旬嫉淤促搂构叶着绚导踪仿继桃识澈符的烟冰箔齿回爬止觉贪源蛀陨幼辗做蝉驰泼按格朴插悦魄巡疲冰荔瀑蔽凤士霓毫恕有咋缮颖囊耙快坤耶糕星舵叔益腹吹甜沪除积茁逞锣硫瘴蝎怠肺酱亏飘指漓性牧烛训躺睫糊弧绣隆层身挑悄琉里崔音咀霹瑚昏夺杖烧蕉掀酮逾骚和向跋袍雌煞敢委吏胜职万谋便蚤总痔孰瞪娃稻挤冤惫韶刷必椽枉撅嘛肆例绘饮褒怠暂倚秩蛾怖滁擅秸泊出附鳃养谢泪沏遥送沟著诉蚊喝谨拷皂苑匈宾剩闰磕文促梭拣
4、汞赣鸥饲囚营湘休龚量霹碱黄酋肩寡爪晴肮查腹铃只牵铺举窿唤雅弓孰筹誓翠鼎塞斑醇米摇险今拒昌位咱傍瓷顿藏扼已亚情印泄欧姜路拢籍煮二实例编程:解答猴子吃桃问题 [问题描述] 一只猴子在X天中一共吃了Y个桃子。已知这只猴子每天最多吃10个桃子,最少可以不吃桃子。问一共有多少种不同的吃法。 例如:X=3,Y=4时(即3天吃4个桃子)一共有下面列出的15种不同吃法 1 :0 0 4 2 :0 1 3 3 :0 2 2 4 :0 3 1
5、 5 :0 4 0 6 :1 0 3 7 :1 1 2 8 :1 2 1 9 :1 3 0 10 :2 0 2 11 :2 1 1 12 :2 2 0 13 :3 0 1 14 :3 1 0 15 :4 0
6、 0 [问题分析] 这个题目比较好的解决方法是用递归。 我们定义一个递归函数eat(x,y)表示在x天之内吃y个桃子。那么具体定义为:1、如果x=0且y=0,表示当前已经搜索到的是一种可行的解法,需要把该解法输出。 2、如果x>0且y>0,表示还没有搜索完,那么就要按下面的方法继续递归: for(i=0;i<=10;i++) eat(x-1,y-i); 这里的i相当于是该天吃桃子数量的探索值。但是由于可以在后面的几天里面一个桃子也不吃(见上面的5、9、12、14、15这几种情况),也就是说只要没有到最后一天(
7、x=0),就需要继续向下搜索,所以x>0且y>0的条件是不完备的,应该是x>0且y>=0. 3、其它情况(如x<0或y<0,x=0且y>0等)为非法情况或表明当前解不成立,故要返回。 由此可以写出eat函数的伪代码: voideat(intx,inty) { if(x>0&&y>=0) for(i=0;i<=10;i++) eat(x-1,y-i); elseif(x==0&&y==0) 输出当前解;
8、 return; } [程序代码]
此文档下载收益归作者所有