java给定正整数n(1 < n < 12),求不大于n的正整数的阶乘的和(即求1!+2!+3!+...+n!),输出阶乘的和。
时间: 2023-09-30 11:08:40 浏览: 37
好的,这个问题与前面两个问题一样,只是加了一个限制条件。以下是 Java 代码实现:
```java
import java.math.BigInteger;
public class Main {
public static void main(String[] args) {
int n = 10; // 假设 n = 10
BigInteger sum = BigInteger.ZERO; // 初始化阶乘和为0
BigInteger factorial = BigInteger.ONE; // 初始化当前阶乘为1
for (int i = 1; i <= n; i++) {
if (i > n) {
break; // 如果当前数大于n,跳出循环
}
factorial = factorial.multiply(BigInteger.valueOf(i)); // 计算当前阶乘
sum = sum.add(factorial); // 将当前阶乘加到阶乘和中
}
System.out.println(sum); // 输出阶乘和
}
}
```
这里只需要在循环中加上一个判断条件 `if (i > n)`,如果当前数大于n,就跳出循环。
相关问题
java给定正整数n(1 < n < 12),求不大于n。的正整数的阶乘的和(即求1!+2!+3!+...+n!),输出阶乘的和。
好的,这个问题与上一个问题类似,只是加了一个限制条件,可以直接在循环中加上判断条件。以下是 Java 代码实现:
```java
import java.math.BigInteger;
public class Main {
public static void main(String[] args) {
int n = 10; // 假设 n = 10
BigInteger sum = BigInteger.ZERO; // 初始化阶乘和为0
BigInteger factorial = BigInteger.ONE; // 初始化当前阶乘为1
for (int i = 1; i <= n; i++) {
if (i > 1 && i > n) {
break; // 如果当前数大于n,跳出循环
}
factorial = factorial.multiply(BigInteger.valueOf(i)); // 计算当前阶乘
sum = sum.add(factorial); // 将当前阶乘加到阶乘和中
}
System.out.println(sum); // 输出阶乘和
}
}
```
这里加了一个判断条件 `if (i > 1 && i > n)`,如果当前数大于n,就跳出循环。注意,由于题目中规定了1 < n < 12,因此判断条件中可以加上 `i > 1` 的条件,避免计算1的阶乘。
java给定正整数n,求不大于n的正整数的阶乘的和(即求1!+2!+3!+...+n!),输出阶乘的和。
好的,这是一个比较简单的数学问题,可以用循环来解决。以下是 Java 代码实现:
```java
import java.math.BigInteger;
public class Main {
public static void main(String[] args) {
int n = 10; // 假设 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)); // 计算当前阶乘
sum = sum.add(factorial); // 将当前阶乘加到阶乘和中
}
System.out.println(sum); // 输出阶乘和
}
}
```
这里使用了 `BigInteger` 类型来表示大整数,因为阶乘的值可能非常大。