递归与非递归求阶乘

递归求5!:

public class Test {

    public int digui(int n) {
        if (n > 1)
            return n * (digui(n - 1));
        else
            return 1;
    }

    public static void main(String[] args) {
        Test test = new Test();
        System.out.println(test.digui(5));  //result=120
    }
}

当n>1时,a=n(n-1)n(-2)2 当n=1时,结果为a1。

非递归求5!

public class Test {

    public int nodigui(int n) {
        int s = 1;
        while (n > 1) {
            s *= n;
            n--;
        }
        return s;
    }

    public static void main(String[] args) {
        Test test = new Test();
        System.out.println(test.nodigui(4));
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,793评论 0 33
  • 如果从基因上来说,我一半是我父亲,一半是我母亲。 如果从物质上来说,我一部分来源于父母的受精卵,更大一部分来自于母...
    alabiubiubiu阅读 121评论 0 0
  • 日更其实对我来说还是很有难度的,但是魔羯的特性就是死磕到底。 其实想写的东西有很多,需要慢慢理清思路边学边写。希望...
    ursula阿清阅读 319评论 4 9
  • 我真的有点憋不住说脏话,但是连脏话都只能在自己关系亲密的朋友之间说,我觉得我的生活过得太憋屈了。 辅导员要退休了,...
    25的26阅读 191评论 0 0
  • 榜姐(微博搞笑排行榜)每天都会有话题,然后忽然想到她16年3月10日的榜姐每日话题是:最让你感到孤独的一句话是什么...
    范豆豆阅读 679评论 0 1