递归:public class JieCheng { public static void main(String[] args){ System.out.println(JieCheng.digui(31)); } public static long digui(int n){ if(n <= 1) return 1; else return digui(n-1)*n; } } 阶乘的递归实现1、当X = 1时,阶乘 = 1 否则就会将X减一作为参数进行下一步递归,一直到X = 1 为止,就会得到2中的式子。 2、阶乘 = X * ( X - 1 ) * ( X - 2 ) * ( X - 3 ) * …… * 1 这时程序会自底向上,也就是从1开始向上返回值,也就是: digui(1) = 1 digui(2) = 2 * digui(1) = 2 * 1 = 2 digui(3) = 3 * digui(2) = 3 * 2 = 6 …… digui(n) = n * digui(n-1) |