生活随笔
收集整理的這篇文章主要介紹了
递归阶乘详解
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
遞歸階乘
什么是遞歸?
直接遞歸:方法自身調(diào)用自己,當(dāng)滿足一定條件時(shí)跳出。以編程的角度來(lái)看,遞歸指的是方法定義中調(diào)用方法本身的現(xiàn)象
間接遞歸:A方法調(diào)用B方法,B方法調(diào)用C方法,C方法再調(diào)用A方法
遞歸為什么必須要有出口?
一直調(diào)用下去 ,就是死循環(huán)了, 報(bào)錯(cuò); java.lang.stackoverflowError:棧內(nèi)存溢出
什么樣的情況下使用遞歸?
大規(guī)模的問(wèn)題可以分成類(lèi)似的小規(guī)模的問(wèn)題來(lái)解決;
大規(guī)模問(wèn)題的解決方式和小規(guī)模問(wèn)題的解決方式一樣;
階乘概念:一個(gè)正整數(shù)的階乘(factorial)是所有小于及等于該數(shù)的正整數(shù)的積,并且0的階乘為1。自然數(shù)n的階乘寫(xiě)作n! ------百度百科
計(jì)算方法:n!=1×2×3×…×n
階乘亦可以遞歸方式定義:0!=1,n!=(n-1)!*n
代碼實(shí)現(xiàn)
package top.gaojc.test;import java.util.Scanner;public class Demo_04 {public static void main(String[] args
) {Scanner sc
= new Scanner(System.in
);System.out
.print("請(qǐng)您輸入需要求出階乘的數(shù)值:");int jc
= sc
.nextInt();int sum
= getJc(jc
);System.out
.println(sum
);}private static int getJc(int jc
) {if (jc
== 1) {return 1;} else {return jc
* getJc(jc
- 1);}}
}
總結(jié)
以上是生活随笔為你收集整理的递归阶乘详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。