用java写一段代码求1!+2!-3!+4!-5!…+10!
时间: 2023-11-21 10:05:53 浏览: 44
```java
import java.math.BigInteger;
public class FactorialSum {
public static void main(String[] args) {
BigInteger sum = BigInteger.ZERO;
BigInteger factorial = BigInteger.ONE;
int sign = 1;
for (int i = 1; i <= 10; i++) {
factorial = factorial.multiply(BigInteger.valueOf(i));
if (i % 2 == 0) {
sum = sum.add(factorial.multiply(BigInteger.valueOf(sign)));
sign *= -1;
}
}
System.out.println(sum);
}
}
```
--相关问题--:
1. 什么是BigInteger类?
2. 如何计算一个
相关问题
用java写一段代码求1!+1/2!-1/3!+1/4!-1/5!…+1/10!
```java
public class Factorial {
public static void main(String[] args) {
double sum = 1;
int i = 1;
while (i <= 10) {
int j = 1;
int factorial = 1;
while (j <= i) {
factorial *= j;
j++;
}
if (i % 2 == 0) {
sum -= 1.0 / factorial;
} else {
sum += 1.0 / factorial;
}
i++;
}
System.out.println(sum);
}
}
```
编写一段java代码求1+2!+3!+...+20!的和
请看以下Java代码:
```java
public class FactorialSum {
public static void main(String[] args) {
long sum = 0;
long factorial = 1;
for (int i = 1; i <= 20; i++) {
factorial *= i;
sum += factorial;
}
System.out.println("1+2!+3!+...+20!的和为:" + sum);
}
}
```
代码的思路是使用一个循环,每次求得一个数的阶乘并加到总和中。由于20!的值非常大,需要使用long类型来存储结果。输出结果为:
```
1+2!+3!+...+20!的和为:2561327494111820313
```
希望能对你有所帮助。