java高精度计算1!+2!+3!+……+n! (n<50).
时间: 2023-08-03 07:08:39 浏览: 98
可以使用Java的BigInteger类来进行高精度计算,以下是代码实现:
```java
import java.math.BigInteger;
public class FactorialSum {
public static void main(String[] args) {
int n = 10; // 求1!+2!+3!+...+n!的和,这里设n=10
BigInteger sum = BigInteger.ZERO; // 初始化和为0
BigInteger factorial = BigInteger.ONE; // 初始化阶乘为1
for (int i = 1; i <= n; i++) {
factorial = factorial.multiply(BigInteger.valueOf(i)); // 计算i的阶乘
sum = sum.add(factorial); // 将阶乘加入总和中
}
System.out.println("1!+2!+3!+...+" + n + "! = " + sum);
}
}
```
运行程序后,输出结果为:1!+2!+3!+...+10! = 4037913。你可以将n改为其他小于50的数来计算其阶乘和。
相关问题
使用Java语言高精度计算1!+2!+3!+……+n! (n<50).
可以使用Java中的BigInteger来进行高精度计算,以下是代码实现:
```java
import java.math.BigInteger;
public class FactorialSum {
public static void main(String[] args) {
int n = 50;
BigInteger sum = BigInteger.ZERO;
BigInteger factorial = BigInteger.ONE;
for (int i = 1; i <= n; i++) {
factorial = factorial.multiply(BigInteger.valueOf(i));
sum = sum.add(factorial);
}
System.out.println(sum);
}
}
```
代码解释:
- 首先定义n为50,即计算1!+2!+3!+...+50!的和。
- 定义sum和factorial为BigInteger类型,sum初始化为0,factorial初始化为1。
- 循环计算每个数的阶乘,并将其加到sum中。
- 输出sum的值。
注意:由于n的值较大,计算过程可能比较耗时,需要一定的等待时间。
编写Java程序求: 1! +2! + 3! +……+5!(
下面是Java程序求1!+2!+3!+……+5!的结果:
```java
public class Main {
public static void main(String[] args) {
int n = 5;
int sum = 0;
for (int i = 1; i <= n; i++) {
int factorial = 1;
for (int j = 1; j <= i; j++) {
factorial *= j;
}
sum += factorial;
}
System.out.println(sum);
}
}
```
输出结果为:153。
阅读全文