上一篇学了递归之后,练习一下递归算法。
题目:使用递归算法计算阶乘的值,也就是5!=5*4*3*2*1,直接使用循环是非常简单的,这边练习一下递归算法。
先写一下两个条件
基线条件:等于1的时候返回1
递归条件:x * f(x-1)
下面直接开始写代码
package com.dlh.test.算法;
import java.util.Scanner;
public class 递归算法之阶乘 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int result = fact(num);//调用递归函数
System.out.println(num+"!"+"="+result);
}
private static int fact(int num) {
int result = 0;
if (num == 1){//基线条件
return 1;
}else {//递归条件
result = num*fact(num-1);//递归调用自己
}
return result;
}
}