用Java写一个大数字阶乘求和代码
时间: 2024-05-07 07:16:31 浏览: 101
好的,以下是Java代码:
```java
import java.math.BigInteger;
public class Main {
public static void main(String[] args) {
BigInteger sum = BigInteger.ZERO; // 定义大数对象,初始值为0
for (int i = 1; i <= 100; i++) { // 计算1-100的阶乘并求和
BigInteger temp = BigInteger.ONE; // 定义大数对象,初始值为1
for (int j = 1; j <= i; j++) {
temp = temp.multiply(BigInteger.valueOf(j)); // 计算阶乘
}
sum = sum.add(temp); // 将当前阶乘加入总和
}
System.out.println(sum); // 输出总和
}
}
```
希望能帮到你。
相关问题
用java写一个阶乘求和的公式
以下是用 Java 写一个阶乘求和的公式的代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个正整数 n:");
int n = scanner.nextInt();
int sum = 0;
int factorial = 1;
for (int i = 1; i <= n; i++) {
factorial *= i;
sum += factorial;
}
System.out.println("1! + 2! + ... + " + n + "! = " + sum);
}
}
```
该程序会提示用户输入一个正整数 n,然后计算 1! + 2! + ... + n! 的值,并输出结果。
用Java代码写一个计算阶乘的算法
下面是一个用Java代码实现的计算阶乘的算法:
```
public static long factorial(int n) {
if (n <= 1) {
return 1;
}
return n * factorial(n - 1);
}
```
在上面的代码中,我们使用了递归的方法,首先判断如果`n`的值小于等于1,那么返回1。否则,返回`n`乘以`factorial(n-1)`的结果。这个算法的时间复杂度为O(n)。