注册 登录
编程论坛 数据结构与算法

我也提一个关于递归的问题,代码简单,不绕,希望一起讨论一下~

v3eejing 发布于 2015-09-18 00:43, 2507 次点击
NULL。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

[ 本帖最后由 v3eejing 于 2015-9-23 07:42 编辑 ]
14 回复
#2
hjx11202015-09-18 02:04
//一个简单的递归
#include "stdio.h"
void main()
{
    void fun(int);
    fun(1);
}
void fun(int a)    //主要测试一下递归调用后,如何返回的
{   
    printf("%d\n",a);
    if(a<3){
        fun(a+1);
    }
    printf("%d\n",a);
}
#3
hjx11202015-09-18 02:30
递归可以简单的理解成上楼梯和下楼梯
顺时针时:
小明在XXX公司上班,公司在XXX大厦的6楼,从1楼到6楼一共132个台阶!
那么同理下班后从6楼到1楼也是132个台阶,假如小明个子比较高,上下楼道
一步就在两个台阶,求小明上楼主下楼的过程?
#include "stdio.h"
void main()
{
    void fun(int);
    fun(1);
}
void fun(int a)   
{   
    printf("%d\n",a);
    if(a<132){
        fun(a+2);
    }
    printf("%d\n",a);
}
#4
v3eejing2015-09-18 16:40
回复 3楼 hjx1120
NULL

[ 本帖最后由 v3eejing 于 2015-9-22 20:10 编辑 ]
#5
v3eejing2015-09-18 18:55
回复 5楼 林月儿
NULL

[ 本帖最后由 v3eejing 于 2015-9-23 07:42 编辑 ]
#6
v3eejing2015-09-18 19:17
回复 5楼 林月儿
NULL

[ 本帖最后由 v3eejing 于 2015-9-23 07:42 编辑 ]
#7
v3eejing2015-09-18 20:46
回复 8楼 林月儿
NULL

[ 本帖最后由 v3eejing 于 2015-9-22 20:10 编辑 ]
#8
v3eejing2015-09-18 21:26
回复 10楼 林月儿
NULL

[ 本帖最后由 v3eejing 于 2015-9-23 07:43 编辑 ]
#9
hjx11202015-09-18 21:56
回复 4楼 v3eejing
楼主用for loop or while loop 规则去理解递归我也是醉了

#10
hjx11202015-09-18 22:21
建意楼主去看这本叫《程序员的数学思维修炼(趣味解读)》第三章 递归--自己调用自己
在结合《算法精解:C语言描述》第1部分 预备知识 第3章 递归 去全方位理解何为递归
当然楼主想更深入的了解递归可以去看《算法导论》《具体数学:计算机科学基础》这样高大上的书籍
#11
v3eejing2015-09-18 23:11
回复 12楼 林月儿
NULL

[ 本帖最后由 v3eejing 于 2015-9-23 07:42 编辑 ]
#12
v3eejing2015-09-18 23:16
回复 16楼 林月儿
NULL

[ 本帖最后由 v3eejing 于 2015-9-23 07:41 编辑 ]
#13
hjx11202015-09-18 23:36

#include "stdio.h"
void main()
{
void fun(int);
fun(1);
}

void fun(int n)
{   
    if(n<=9)
    {
    int k;
    for(k=1;k<=n;k++)
    printf("%d*%d=%d  ",n,k,n*k);
    printf("\n");
    }
    fun(++n);

}
楼主写的代码很有可能是看了上古的C教材上
BUG_A: 函数格式的申明是很古老的一种写法,标准C可不是这么写的
BUG_B:用for思想去理解递归调用,方向错了
递归:是从A到Z在自己调用自己的函数从Z到A
for loop:要写两个for loop,一个for loop 从A到Z,另一个for loop 从Z到A
#14
v3eejing2015-09-19 00:03
回复 19楼 林月儿
NULL

[ 本帖最后由 v3eejing 于 2015-9-23 07:41 编辑 ]
#15
v3eejing2015-09-19 00:08
回复 19楼 林月儿
NULL

[ 本帖最后由 v3eejing 于 2015-9-23 07:41 编辑 ]
1