|NO.Z.00031|——————————|BigDataEnd|——|Java&方法封裝.V13|---------------------------------------------|Java.v13|階乘計算方式二|遞迴方式|
阿新 • • 發佈:2022-04-03
[BigDataJava:Java&方法封裝.V13] [BigDataJava.面向物件] [|章節二|方法和封裝|階乘計算方式二|遞迴方式|]
一、階乘的計算方式二:遞迴的方式
### --- 案例題目
~~~ ——> 程式設計實現引數n的階乘並返回,所謂階乘就是從1累乘到n的結果。
二、程式設計程式碼
### --- 程式設計程式碼 /* 程式設計實現累乘積的計算並列印 */
三、編譯列印public class JieChengTest { // 自定義成員方法實現將引數n的階乘計算出來並返回 // 1! = 1; 2! = 1*2; 3! = 1*2*3; ... n! = 1*2*3*...*n; int show(int n) { // int n=5; int n = 4; int n = 3; int n = 2; int n = 1; // 遞推的方式 /* int num = 1; for(int i = 1; i <= n; i++) { num *= i; } return num; */ /* 5! = 5 * 4 * 3 * 2 * 1; 4! = 4 * 3 * 2 * 1; 3! = 3 * 2 * 1; 2! = 2 * 1; 1! = 1; 5! = 5 * 4!; 4! = 4 * 3!; 3! = 3 * 2!; 2! = 2 * 1!; 1! = 1; n! = n * (n-1)!; */ // 遞迴的方式 // 當n的數值為1時,則階乘的結果就是1 /* if(1 == n) { return 1; } */ if(1 == n) return 1; // 否則階乘的結果就是 n*(n-1)! return n*show(n-1); // show(5) => return 5*show(4); => 120 // show(4) => return 4*show(3); => 24 // show(3) => return 3*show(2); => 6 // show(2) => return 2*show(1); => 2 // show(1) => return 1; => 1 } public static void main(String[] args) { // 1.宣告JieChengTest型別的引用指向該型別的物件 JieChengTest jct = new JieChengTest(); // 2.呼叫方法進行計算並列印 int res = jct.show(5); System.out.println("最終的計算結果是:" + res); // 120 } }
### --- 編譯
C:\Users\Administrator\Desktop>javac JieChengTest.java
### --- 列印輸出
C:\Users\Administrator\Desktop>java JieChengTest
最終的計算結果是:120
===============================END===============================
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
來自為知筆記(Wiz)