最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java遞歸簡單實現(xiàn)n的階乘

 更新時間:2022年01月24日 17:36:32   作者:HairLossException  
這篇文章主要介紹了Java遞歸簡單實現(xiàn)n的階乘,遞歸(recursion)就是子程序(或函數(shù))直接調(diào)用自己或通過一系列調(diào)用語句間接調(diào)用自己,是一種描述問題和解決問題的基本方法,下面我們舉一個小小的例子詳情了解一下,需要的朋友可以參考下

1.遞歸的基本概念

在說什么是遞歸之前,我想大家定見過這個表情包吧

什么是遞歸:

程序調(diào)用自身的編程技巧稱為遞歸( recursion)遞歸的能力在于用有限的語句來定義對象的無限集合。一般來說,遞歸需要有邊界條件、遞歸前進段和遞歸返回段。當(dāng)邊界條件不滿足時,遞歸前進;當(dāng)邊界條件滿足時,遞歸返回。

遞歸的用途:

遞歸可用于解決各種數(shù)學(xué)問題:八皇后問題、漢諾塔問題、階乘問題、迷宮問題等
遞歸也可用于各種算法:快排、歸并排序、二分查找、分治算法等

2.遞歸的重要規(guī)則

  • 執(zhí)行一個方法就創(chuàng)建一個新的受保護的獨立??臻g
  • 方法的局部變量是獨立的
  • 如果方法使用的是引用數(shù)據(jù)類型的變量那么就共享引用類型的數(shù)據(jù)
  • 遞歸必須向退出遞歸的條件逼近
  • 當(dāng)一個方法執(zhí)行完畢或者遇到return就會返回,遵守誰調(diào)用就將結(jié)果返回給誰

3.利用遞歸實現(xiàn)n的階乘

代碼實現(xiàn):

public class RecursionTest {
    public static void main(String[] args) {
        int x = factorial(4);
        System.out.println(x); //輸出結(jié)果24
    }

    public static int factorial(int n){
        //負數(shù)沒有階乘,如果參數(shù)是負數(shù)就拋出異常
        if (n<0){
            throw new RuntimeException("負數(shù)沒有階乘");
        }
        //0和1的階乘都是1
        if (n == 1||n ==0){
            return 1;
        }else {
            //如果參數(shù)不是負數(shù)且大于1就遞歸調(diào)用factorial方法
            int m = factorial(n - 1)*n;
            return m;
        }
    }
}

到此這篇關(guān)于Java遞歸簡單實現(xiàn)n的階乘的文章就介紹到這了,更多相關(guān)Java遞歸內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

鹤山市| 柏乡县| 巴林左旗| 西平县| 景洪市| 南木林县| 郁南县| 商洛市| 溆浦县| 浙江省| 定西市| 许昌市| 宽城| 通海县| 万州区| 马鞍山市| 确山县| 宜宾县| 吴忠市| 东源县| 广灵县| 茂名市| 吴川市| 贵德县| 巴林左旗| 图片| 江陵县| 天峨县| 沙坪坝区| 开远市| 柘荣县| 桓台县| 灵宝市| 临沭县| 邻水| 南安市| 准格尔旗| 钟山县| 黄龙县| 盐边县| 朝阳区|