进阶day08-递归方式求阶乘的实现
This commit is contained in:
43
javaSE-day08/src/com/inmind/digui02/Demo09.java
Normal file
43
javaSE-day08/src/com/inmind/digui02/Demo09.java
Normal file
@@ -0,0 +1,43 @@
|
||||
package com.inmind.digui02;
|
||||
/*
|
||||
递归求阶乘的代码
|
||||
|
||||
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)!
|
||||
|
||||
核心思想:递归代码如何编写??
|
||||
1.判断当前是否是结束条件,如果是就结束(return)
|
||||
2.如果不是结束条件,那么按数学规律或者逻辑规律调用自己
|
||||
|
||||
n=1就是结束条件
|
||||
求阶乘的数学规律是 n! = n*(n-1)!
|
||||
*/
|
||||
public class Demo09 {
|
||||
public static void main(String[] args) {
|
||||
//计算5的阶乘
|
||||
System.out.println(getJieCheng(5));
|
||||
}
|
||||
|
||||
//定义求n的阶乘的功能方法
|
||||
public static int getJieCheng(int n) {
|
||||
//1.判断当前是否是结束条件,如果是就结束(return)
|
||||
if (n == 1) {
|
||||
return 1;
|
||||
}
|
||||
//2.如果不是结束条件,那么按数学规律或者逻辑规律调用自己
|
||||
return n*getJieCheng(n-1);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user