- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京理工大学2013级的C程序设计非信息类答案part2
北京理工大学2013级C程序设计非信息类答案part 2
49. 【小学递归】杀鸡用牛刀——要用递归啊!
成绩 5 开启时间 2014年05月10日 星期六 14:00 折扣 0.8 折扣时间 2014年05月24日 星期六 23:55 允许迟交 否 关闭时间 2014年06月1日 星期日 23:55 背景:? 哈哈!我们终于学了递归了,现在大家一定感到非常有意思吧,那个典型的“汉诺塔”问题,一个非常短的程序居然可以完成如此复杂的工作,真是神奇啊!来吧,让我们也动手编写一个递归程序,当然,我们要编写的不可能太复杂。
功能:?求整数 n 到 m 区间的累加和,其中n=m。输入: 区间的起始点n? ?区间的终止点m 输出:??? 累加和
要求: 使用递归算法完成。如此简单的题目当然要有隐含的测试用例啦,就3个,看看谁能猜出来。
? 测试输入 期待的输出 时间限制 内存限制 额外进程 测试用例 1 1?10? The?sum?from?1?to?10?is?55.? 1秒 64M 0 测试用例 2 10?15? The?sum?from?10?to?15?is?75.? 1秒 64M 0 int?sum(int?m,int?n) ??
{if(m==n)?return?m;int?i;for(i=n;i=m;i--)?return?i+sum(m,i-1);} ?
#include?stdio.h ??
int?main(){int?m,n,s=0;scanf(%d%d,m,n);s=sum(m,n); ??
printf(The?sum?from?%d?to?%d?is?%d.\n,m,n,s);return?0;}??
50. 【中学】求最大公约数——递归
成绩 5 开启时间 2014年05月10日 星期六 14:00 折扣 0.8 折扣时间 2014年05月24日 星期六 23:55 允许迟交 否 关闭时间 2014年06月1日 星期日 23:55 请使用递归算法计算正整数n和m的最大公约数GCD(n,m)。
???????? = m??????????? ?当 m=n 且 n mod m =0GCD(N,M) = GCD(m,n)? ?当nm时????????????????? = GCD(m, n mod m)??? ?其他
输入: n和m 输出: ? n和m的最大公约数
? 测试输入 期待的输出 时间限制 内存限制 额外进程 测试用例 1 24?48? 24? 1秒 64M 0 测试用例 2 13?15? 1? 1秒 64M 0 #include?stdio.h ??
int?f(int?x,int?y) ??
{int?s,t;t=x%y; ??
if(t==0)?s=y;else?s=f(y,t); ??
return?s;} ??
int?main() ??
{int?m,n;scanf(%d%d,m,n); ??
printf(%d\n,f(m,n));return?0;}
51. 【数列递归】求序列之和——递归
成绩 5 开启时间 2014年05月10日 星期六 14:00 折扣 0.8 折扣时间 2014年05月24日 星期六 23:55 允许迟交 否 关闭时间 2014年06月1日 星期日 23:55 请使用递归算法求序列1 + 1/2 - 1/3 + 1/4?-1/5 ......的前n项之和。
输入:n 输出:序列的前n项和(精确到小数点之后第6位)
? 测试输入 期待的输出 时间限制 内存限制 额外进程 测试用例 1 1? 1? 1秒 64M 0 测试用例 2 2? 1.500000? 1秒 64M 0 测试用例 3 3? 1.166667? 1秒 64M 0 #includestdio.h ??
float?sum(int?n) ??
{float?s;if(n==1)?s=1.0; ??
else?if(n%2==0)?s=sum(n-1)+1.0/n; ??
else?s=sum(n-1)-1.0/n;return?s;} ??
int?main() ??
{int?n;float?s;scanf(%d,n); ??
if(n==1)?printf(1\n); ??
else?{s=sum(n);printf(%.6f\n,s);}}??
52. 【大学】函数递归*
成绩 5 开启时间 2014年05月10日 星期六 14:00 折扣 0.8 折扣时间 2014年05月24日 星期六 23:55 允许迟交 否 关闭时间 2014年06月1日 星期日 23:55 编写一个函数,使用递归算法求
您可能关注的文档
最近下载
- 2025年深入贯彻中央八项规定精神学习教育知识竞赛试题及答案.docx VIP
- DLT5710-2014 电力建设土建工程施工技术检验规范.docx
- 常见病与多发病的防治_培训课件.ppt VIP
- 社会心理学(全套完整课件)课件ppt.pptx VIP
- 数据统计与分析技术.pptx VIP
- 往复活塞压缩机技术讲座郁永章(参考).ppt VIP
- 浅析员工关系管理—毕业论文.doc VIP
- 湖北省黄石市阳新县2023-2024学年六年级下学期期末英语试题(含笔试答案,无听力音频,无原文).pdf VIP
- 《药品经营许可证》申请表格.doc VIP
- 北京市朝阳区五年级下学期数学期末试卷.doc VIP
文档评论(0)