A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© vipzh 中级黑马   /  2012-12-1 22:42  /  1015 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

怎么用递归法求一个数的阶乘啊?求指教

2 个回复

倒序浏览
本帖最后由 王震阳 于 2012-12-1 23:16 编辑
  1. class DieDaiTest //最简单的一个迭代计算阶乘
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 System.out.println(sum(6));
  6.         }
  7.         public static int sum(int num)
  8.         {
  9.                 int result=num;
  10.                 if(num>1)
  11.                 {
  12.                         result*=sum(--num);
  13.                 }
  14.                 return result;
  15.         }
  16. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
递归求阶乘,我感觉这个方法比较简单快捷!
public class DiGuiDemo {
          public static void main(String[] args) {
                     DiGuiDemo dgd = new DiGuiDemo();
                     System.out.println(dgd.jc(5));
     }
     public int jc(int n) { //5 - 4 - 3 - 2 - 1
                    if (n == 1) {
                    return 1;
                    } else {
                                return n * jc(n - 1);
                    }
           }
}
                      //解析:
                     //5*jc(4)
                     //5*4*jc(3) 5*4*6
                    //5*4*3*jc(2) 5*4*3*2
                    //5*4*3*2*jc(1)   1

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马