进阶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