守望者--AIR技术交流

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: ANE FlasCC 炼金术
查看: 1523|回复: 0
打印 上一主题 下一主题

[技术资料] 编程算法之递归阶乘法

[复制链接]
  • TA的每日心情
    慵懒
    2015-4-16 10:25
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    18

    主题

    19

    帖子

    1284

    积分

    版主

    Rank: 16Rank: 16Rank: 16Rank: 16

    威望
    11
    贡献
    0
    金币
    359
    钢镚
    20
    跳转到指定楼层
    楼主
    发表于 2015-4-18 23:58:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    递归算法也是一种常用的算法思想,使用该算法有时可有效的解决一些问题,往往可以简化代码的编写,提高程序的可读性,但若有不合适的递归反而会导致程序的执行效率变低。  

    所谓递归算法,就是在程序里不断反复调用自身来求解问题的方法,这里强调的重点是调用自身,就得要等待求解的问题能够分解为相同问题的一个子问题,这样通过多次递归调用,便可完成求解。
    递归算发的具体实现过程一般通过函数来完成,在函数的内部,编写代码直接或者间接的调用函数自己,即可完成递归操作。
    理解递归算法的最简单例子就是:编写程序求n的阶乘。
    1.     // 编程算法之递归阶乘.cpp : 定义控制台应用程序的入口点。  
    2.     //  
    3.       
    4.     #include "stdafx.h"  
    5.       
    6.     int fact(int i)  
    7.     {  
    8.         if (i<=1)  
    9.         {  
    10.             return 1;  
    11.         }  
    12.         else  
    13.         {  
    14.             return i*fact(i-1);  
    15.         }  
    16.     }  
    17.     int _tmain(int argc, _TCHAR* argv[])  
    18.     {  
    19.         printf("%d",fact(4));  
    20.         return 0;  
    21.     }  
    复制代码
    http://blog.csdn.net/yaoyuan0701/article/details/45066635
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
    收藏收藏 分享分享 支持支持 反对反对 微信
    守望者AIR技术交流社区(www.airmyth.com)
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    
    关闭

    站长推荐上一条 /4 下一条

    QQ|手机版|Archiver|网站地图|小黑屋|守望者 ( 京ICP备14061876号

    GMT+8, 2024-4-20 21:31 , Processed in 0.116336 second(s), 29 queries .

    守望者AIR

    守望者AIR技术交流社区

    本站成立于 2014年12月31日

    快速回复 返回顶部 返回列表