加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

函数中自己调用自己我们称为——递归函数

(2015-05-12 23:05:32)
标签:

linux

c语言

      递归函数简介

一、简介

 递归函数是我们函数中的重点,也是一个难点。本章文章希望大家看过后,能够对递归函数有一个简单的认识。从而能够认识我们的

递归算法。那么什么叫做递归函数呢?

     递归函数即自调用函数,在函数体内部直接或间接地自己调用自己。

例如:我们要求5!,该怎么求?

①5 4!

  

② 3!

   

③ 2!

       

④ 1====》递推结束条件

我们递归函数两个阶段:

1、递推 : 从 ①到④ 开始

2、回归 : 从return开始回归,④到①

http://s14/mw690/002r7M77gy6SdxD6rCt1d&690

 

这个问题,我们可以通过画图来解决。画图之后,我们发现了一个规律

注:n --------表示我们切刀数

a(n) --------表示我们切n刀可以分成的块数

<1>我们一刀都不切.

n = 0 a(n) = 1

<2>当我们切刀的时候

a(1) = 1 + 1 = 2 //1刀多1

a(2) = 2 + 2 = 4 //2刀多2

a(3) = 4 + 3 = 7 //3刀多3

a(4) = 7 + 4= 11 //4刀多4

归纳后得到的规律:

a(n) = a(n - 1) + n //n刀多n

那么,我们通过这个规律,我们如何通过编程来实现呢?我们来写一个函数看看。

test.c


http://s12/mw690/002r7M77gy6SdxJIEfV0b&690

 

我们什么时候结束呢?例如,我们输入了n = 5.表示,我们的n5刀。什么时候结束比较好呢?到我们的n0的时候,是不是我们就要结束了。(注:递归一定要有结束条件)

 

 


http://s10/mw690/002r7M77gy6SdxJLks999&690

http://s14/mw690/002r7M77gy6SdxJNsEBad&690

http://s1/mw690/002r7M77gy6SdxJPHUIc0&690


 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有