html编写阶乘,阶乘的实现
一個數的階乘
當這個數 = 1的時候,算式為:1 * (1 - 0) = 1,所以1的階乘就是1
當這個數 = 2的時候,算式為:2! = 2 * 1 = 2 * (2 - 1) = 2,所以2的階乘就是
前2個數為特殊情況
假設這個數為n
n = 1 , n! = 1 * (1 - 0)
n = 2,n! = 2 * (2 - 1)
n = 3,n! = 3 * (3 - 1) * (3 - 2)
....等等等....
由此引發出遞歸的思想
public class Test {
pulic static void main(String[] args) {
System.out.println(5); // 120
}
public static int F(int n) {
// 首先來處理2個特殊情況
if (n == 1) {
// 如果 n 和 1 相等,直接返回結果為1
return 1;
}
if (n == 2) {
// 如果n 和 2 相等,直接返回結果為2
return 2;
}
if (n > 2) {
return n * F(n - 1);
}
}
}
上述還可以簡化為
public class Test {
pulic static void main(String[] args) {
System.out.println(5); // 120
}
public static int F(int n) {
// 首先來處理2個特殊情況
if (n == 1) {
// 如果 n 和 1 相等,直接返回結果為1
return 1;
}
if (n >= 2) {
return n * F(n - 1);
}
}
}
5代入的執行流程
n = 5,第一個判斷不執行,n現在是>=2的,就執行return n * F(n - 1);,這就相當于小時候的數學的方程式代入感一樣,5代入,5 * F(4) , 這里的F(4)又是調用了一遍這個函數,F(4) = 4 * F(3),依次下去,就會最終變成5 * 4 * 3 * 2 * 1;
原文:https://www.cnblogs.com/wxvirus/p/12913904.html
總結
以上是生活随笔為你收集整理的html编写阶乘,阶乘的实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言算法小实例2
- 下一篇: 你的杀毒软件可以扔掉了