package com.test;
import java.util.Scanner;
public class Test {
public static void main(String[] args){
int ret = 0;
int i;
Scanner in = new Scanner(System.in);
System.out.println("请输入最大的阶乘数:");
i = in.nextInt(); //接收一个整数
while (i > 0) { //当i大于0
ret += factorial(i); //ret保存i的阶乘到1的阶乘和
i--; //i向1靠拢
}
System.out.println(ret);
}
//求阶乘的方法
public static int factorial(int num){
if (num == 1){ //递归边界
return 1;
}
return num * factorial(num - 1); //返回num的阶乘
}
}
实现代码: 递归求 1! + 2 !+ 3! + ... + 101!
本文介绍了一个使用Java实现的阶乘求和程序,通过循环和递归方式计算用户输入的最大阶乘数之和。程序首先接收用户输入,然后利用循环和递归函数计算从该数到1的所有整数的阶乘,并将结果累加。


被折叠的 条评论
为什么被折叠?



