在键盘上输入数n,编程计算sum=1!+2!+··· + n!的结果。java
时间: 2023-06-18 07:03:23 浏览: 66
以下是Java代码实现:
```java
import java.util.Scanner;
public class FactorialSum {
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);
}
}
```
首先通过 `Scanner` 类获取输入的整数 n。然后使用 for 循环计算每个数的阶乘,同时累加到 sum 中。最后输出结果。
相关问题
java编程求s=1!+2!+…+n!(n从键盘输入),采用方法调用的方式实现
下面是一种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 s = calculateFactorialSum(n); // 调用方法计算s的值
System.out.println("s的值为:" + s);
}
// 计算1! + 2! + ... + n!的值
public static int calculateFactorialSum(int n) {
int sum = 0;
int factorial = 1;
for (int i = 1; i <= n; i++) {
factorial *= i;
sum += factorial;
}
return sum;
}
}
```
代码中定义了一个名为`calculateFactorialSum`的方法,用于计算1! + 2! + ... + n!的值。在`main`方法中,首先通过`Scanner`类获取用户输入的n的值,然后调用`calculateFactorialSum`方法计算s的值,并将结果输出。
编程实现计算1+1/2!+1/3!+......+1/n!的值。要求n由用户从键盘输入。java
可以使用循环和递归两种方式实现计算1+1/2!+1/3!+......+1/n!的值。
循环实现方式如下:
```
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();
double sum = 0;
double factorial = 1;
for (int i = 1; i <= n; i++) {
factorial *= i;
sum += 1 / factorial;
}
System.out.println("1+1/2!+1/3!+......+1/n!的值为:" + sum);
}
}
```
递归实现方式如下:
```
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();
double sum = 0;
for (int i = 1; i <= n; i++) {
sum += getFactorial(i);
}
System.out.println("1+1/2!+1/3!+......+1/n!的值为:" + sum);
}
public static double getFactorial(int n) {
if (n == 1) {
return 1;
} else {
return 1.0 / n / getFactorial(n - 1);
}
}
}
```