C语言程序设计递推递归n,递推和递归方法在C语言程序设计中的应用.pdf

第12卷 第3期 软 件 导 刊 VO1.12NO.3

2O13年 3月 SoftwareGuide Mar.2013

递推和递归方法在 C语言程序设计中的应用

张春燕 ,沈 漪

(无锡科技职业学院,江苏 无锡 214028)

摘 要 :递推和递归f--I题是计算机高级语言程序设计课程中的重点和难点f-I题。以卖票问题为例,对递推和递归方

法进行 了探讨 ,并通过 C程序进行 了验证 。

关键词 :递推;递归;c程序

中图分类号 :TP311.5 文献标识码 :A 文章编号 :1672—7800(2013)003—0057—01

找 出去 ,仍会 出现找不开钱 的局面 ,所 以f(m,n)一0。

1 递归和递推算法 (3)其它情况 。m+n个人排 队购票 ,第 m+n个人站

在第 m+n--1个人 的后面 ,则第 m+n个人的排队方式可

递归作为一种算法在程序设计语言中广泛应用。它是调 由两种情况获得 :①第 m+n个人手持 100元 的钞票 ,则

用一个函数的过程中又出现直接或者间接地调用该函数本身。 在他之前 的m+n一1个人 中有 m个人手持 5O元 的钞票 ,

递归是计算机科学的一个重要概念,递归的方法是程序设计中 有 n~1个人手持 1o0元 的钞票 ,此种情况共有 f(m,n一

有效的方法 ,采用递归编写程序能使程序变得简洁和清晰。 1);②第 m+n个人手持 5O元 的钞票 ,则在他之前 的m十

递推算法是一种用若干步可重复的简运算 (规律)来 n--1个人 中有 m一1个人手持 5O元 的钞票 ,有 n个人手

描述复杂问题 的方法。递推是序列计算机 中的一种常用 持 100元 的钞票 ,此种情况共有 f(m一1,n)。

算法 。递推法的特点是从一个 已知的事实出发 ,按照一定 由加法原理得到 f(m,n)的递推关系 :

规律推 出下一个事实,再从这个新 的已知事实 出发 ,再 向 f(m ,n)一 f(nl,n一 1)十f(m 一 1,n)

下推 出一个新的事实 。 初始条件 :

当 m

2 问题提 出 当 n一0时 ,f(m,n)一1

一 场球赛开始前,售票工作正在紧张进行中,每张球 4 购票排队递归程序实现

票为 5O元 ,现有 m+n个人排 队等待购票 ,其 中有 120.个人

手持 50元 的钞票 ,另外 n个人手持 100元 的钞票 。假设 longf(intj,inti)

开始售票 时售票处没有零钱 ,求 出这 m+n个人排 队购 { longY;

票,使售票处不至出现找不开钱 的局面的不 同排队种数 if(i一 :0)y一 1;

(这里正整数 m、n从键盘输入)。 elseif(j

这个 问题用一般 的解决方法非常麻烦 ,下面用递归和 elsey=f(j一1,i)十f(j,i一1);/*实施递归 */

递推方法解决 。 retur

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值