


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
算法作业1、一个顽猴在一座有30级台阶的小山上爬山跳跃,猴子上山一步可跳1级,或跳3级,试求上山的30级台阶有多少种不同的爬法。答案是58425.思路:假设猴子跳到30级有f(30)种跳法,而猴子跳到30级的之前位置,只可能是第29(30-1)级和第27(30-3)级两种可能,所以f(30)=f(29)+f(27);由此得出递推式 f(k)=f(K-1)+f(k-3)不难看出,f(1)=1,f(2)=1,f(3)=2;由此写出代码代码:#includevoid main()long f400;int n=30;int i;f1=1;f2=1;f3=2;for(i=4;i=n;i+)fi=fi-1+fi-3;printf(爬法数是%ldn,f30);2、n个水手来到一个岛上,采了一堆椰子后,因为疲劳都睡着了。一段时间后,第一个水手醒来,悄悄地将椰子等分成n份,多出m个椰子,便给了旁边的猴子,然后自己藏起一份,再将剩下的椰子重新合在一起,继续睡觉。不久,第二名水手醒来,同样将椰子了等分成n份,恰好也多出m个,也给了猴子。然而自己也藏起一份,再将剩下的椰子重新合在一起。以后每个水手都如此分了一次并都藏起一份,也恰好都把多出的m个给了猴子。第二天,n个水手醒来,发现椰子少了许多,心照不宣,便把剩下的椰子分成n份,恰好又多出m个,给了猴子。对于给定的整数n,m(约定0mn9),试求原来这堆椰子至少有多少个?请输入人数n(1n9): 7请输入每次所剩椰子数m(0mn): 3原有椰子至少为: 5764783个.第 1个水手面临椰子: 5764783=7* 823540+3个,藏 823540个.第 2个水手面临椰子: 4941240=7* 705891+3个,藏 705891个.第 3个水手面临椰子: 4235346=7* 605049+3个,藏 605049个.第 4个水手面临椰子: 3630294=7* 518613+3个,藏 518613个.第 5个水手面临椰子: 3111678=7* 444525+3个,藏 444525个.第 6个水手面临椰子: 2667150=7* 381021+3个,藏 381021个.第 7个水手面临椰子: 2286126=7* 326589+3个,藏 326589个.最后一起分时有椰子: 1959534=7* 279933+3个.每人分得 279933个.思路:假设第k个水手面临的椰子数是飞f(k)个,不难看出递推式 f(k+1)=f(k)-m*(n-1)/nf(1)的值需要用穷举法列举,必需满足f(k)%n=m(1=k=n)为了提高穷举效率,设 变量i,f(1)=n*i+m; i递增穷举求值;试验代码:#includeint main()long f10;int m=3,n=7,k=1;long i=1;dof1=n*i+m;if(fk%n=m)/如果f(k)符合条件,递推f(k+1),然后再循环验证是否符合条件fk+1=(fk-m)*(n-1)/n;k+;if(fk%n!=m)/当f(k)不符合条件时,说明f(1)取值是不正确的,让i递增继续穷举,让k=1,重新对f(k)赋值,之前的赋值就作废了。k=1;i+;while(k=n);/当k=n时 说明所有的f(k)值已经符合条件,f(1)的值既椰子总数就确定了,可以输出结果了printf(%ldn,f1);return 0;完整代码:#includeint main()long f10;int m,n,k=1;long i=1;printf(请输入人数nn);scanf(%d,&n);printf(请输入每次所剩椰子数m(0mn)n);scanf(%d,&m);dof1=n*i+m;if(fk%n=m)fk+1=(fk-m)*(n-1)/n;k+;if(fk%n!=m)k=1;i+;while(k=n);for(i=1;i=7;i+)printf(第%d个水手面临椰子:%ld=%d*%ld+%d个,藏%ld个n,i,fi,n,fi-fi+1,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院门诊部个人工作总结
- 2025广东广州市公安局越秀区分局招聘辅警50人模拟试卷及1套完整答案详解
- 2025年灶具油烟机项目发展计划
- 2025年鹤壁市面向社会招聘看护队员30名模拟试卷及1套完整答案详解
- 合作协议书汇编6篇
- 初二周记范文汇编八篇
- 2025昆明市禄劝县人民法院司法协警招录(2人)模拟试卷及答案详解(易错题)
- 2025福建亿力集团有限公司所属单位招聘98人模拟试卷及一套完整答案详解
- 2025安徽芜湖经济技术开发区公办幼儿园招聘26人模拟试卷参考答案详解
- 2025年机关单位餐饮项目发展计划
- 数据结构(Java语言描述)(第2版)课件全套 张静 单元1-8 数据结构与算法 - 哈希表
- 2025年北京市专业技术人员公需科目培训答案
- 2025年北京市房屋租赁合同(自行成交版)模板
- 2025年幼儿园教师教育部门政策法规试题(含答案)
- 2025至2030年中国湖南省中等职业教育市场需求情况分析报告
- 眼科规培汇报总结
- 基孔肯雅热医疗机构门诊应急处置演练方案
- 小儿肺炎合并心力衰竭诊疗要点
- 2026版创新设计高考总复习语文部编版-测评练案答案
- 低碳时代下冷链物流配送路径的深度优化与实践
- 生活垃圾教学课件
评论
0/150
提交评论