有没有大神会用java递归方法求
用递归的方法求1!+2!+3!+•••••+20!
2回答
-
蜂之谷
public static void main(String[] args) {
System.out.println(count(20));
}
//递归求n的阶层
public static int factorial(int n){
return n<2 ? 1 : n*factorial(n-1);
}
//还是递归 求和
public static int count(int n){
return n<2 ? 1 : factorial(n) + count(n-1);
}
-
一毛钱
//递归求N!
static long fact(int n) {
if (n <= 1) {
return 1;
} else {
return n * fact(n - 1);
}
}
//测试方法
@Test
public void Test2(){
long sum=0;
for(int i=1;i<=20;i++){
System.out.println(sum);
sum+=fact(i);
}
}