java用for循环求 s=1!+ 2!+ 3!+ …+10!的值
时间: 2023-11-21 11:58:56 浏览: 140
以下是Java使用for循环求s=1!+2!+3!+...+10!的值的代码:
```java
public class FactorialSum {
public static void main(String[] args) {
int sum = 0; int factorial = 1;
for (int i = 1; i <= 10; i++) {
factorial *= i;
sum += factorial;
}
System.out.println("1!+2!+3!+...+10!的阶乘和是:" + sum);
}
}
```
运行结果为:1!+2!+3!+...+10!的阶乘和是:4037913
相关问题
令 S = 1! + 2! + 3! + ... + 202320232023! ,求 S 的末尾 9 位数字。Java代码
在Java中,我们可以使用BigInteger类来处理大整数的计算。以下是一个简单的实现:
```java
import java.math.BigInteger;
public class Main {
public static void main(String[] args) {
BigInteger sum = BigInteger.ZERO;
BigInteger factorial = BigInteger.ONE; for (int i = 1; i <= 2023202320; i++) {
factorial = factorial.multiply(BigInteger.valueOf(i));
sum = sum.add(factorial);
}
System.out.println(sum.mod(BigInteger.valueOf(1000000000))); // 输出 S 的末尾 9 位数字
}
}
```
这段代码首先初始化一个用于存储阶乘和的变量sum和一个用于计算阶乘的变量factorial。然后,它进入一个循环,每次迭代时,都会将当前的i值乘以之前的阶乘结果,然后将结果添加到sum中。最后,我们打印出sum对1000000000取模的结果,这就是S的末尾9位数字。
java由用户输入一个整数 m,计算s=1!+2!+3!+…+m!
在Java中,你可以通过循环和递归的方式来计算阶乘之和。这里是一个简单的示例代码:
```java
import java.util.Scanner;
public class FactorialSum {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个整数 m: ");
int m = input.nextInt();
long sum = factorialSum(m);
System.out.println("1! + 2! + ... + " + m + "! 的和是: " + sum);
}
// 计算阶乘函数
private static long factorial(int n) {
if (n == 0 || n == 1) { // 阶乘的基础情况
return 1;
} else {
return n * factorial(n - 1); // 递归调用
}
}
// 阶乘之和函数
private static long factorialSum(int m) {
long sum = 0;
for (int i = 1; i <= m; i++) {
sum += factorial(i);
}
return sum;
}
}
```
在这个代码中,我们首先获取用户输入的整数`m`,然后计算从1到`m`的所有阶乘之和。`factorial`函数用于计算单个阶乘,而`factorialSum`函数则是通过循环将所有阶乘加起来。
阅读全文