77范文网 - 专业文章范例文档资料分享平台

阅读程序写结果之进阶篇(c语言版)(5)

来源:网络收集 时间:2021-02-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

ints(intn,intk)

{

if((n==k)||(k==1))return1;

else

returns(n-1,k-1)+k*s(n-1,k);

}

intmain()

{

printf("%d\n",s(7,5));

system("pause");

return0;

}

输出结果:

[解析]程序很短很简单,但是如果我们用类似上例的方法来模拟展开该递归的执行调用过程,会碰到前所未有的困难。原因很简单,递归调用的次数太多了。碰到这种情况时,我们可以从递归的边界出发,进行递推求解。具体求解过程如下:

1、边界赋值:s[n,n]=1;s[n,1]=1

2、递推求解过程:

S[3,2]=s[2,1]+2*s[2,2]=3

S[4,2]=s[3,1]+2*s[3,2]=7;s[4,3]=s[3,2]+3*s[3,3]=6

S[5,3]=s[4,2]+3*s[4,3]=25;s[5,4]=s[4,3]+4*s[4,4]=10

s[6,4]=s[5,3]+4*s[5,4]=65;s[6,5]=s[5,4]+5*s[5,5]=15

S[7,5]=s[6,4]+5*s[6,5]=65+5*15=140整个递推过程,可记录如下表格:

k

n

1

2

3

4

5

6

7111111111371625110651151402345

也即本例输出结果为:140

值得注意的是,我们只要求出表格中的数据即可,其它空白的,无需求解。为了节省时间,避免不必要的人为错误,所做的运算越少越好。那么哪些是该算的、哪些是无需计算的,也即如何只进行有效计算呢?这问题,留给读者自己思考。

小结:字符(串)操作,除了要求选手要有扎实的语言基础并了解相关字符串知识点外,多数还体现了对选手细心、耐心及毅力品质的考核。题目一般不会引用高深的算法或理论,需要的就是“静心分析、耐心计算”。

而子程序的调用,考查的除了子程序调用本身的一些知识点外,多数还会揉合一些其它综合知识。比如,选例十一,其实就是第二类Stirling数。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库阅读程序写结果之进阶篇(c语言版)(5)在线全文阅读。

阅读程序写结果之进阶篇(c语言版)(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1191168.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: