java写输入一个正整数n,求1/1!+1/2!+....1/20!
时间: 2024-10-06 07:02:22 浏览: 27
两个递归实现1!+2!+....+n!
5星 · 资源好评率100%
在Java中,为了求解给定正整数`n`下的前`n`个分数`1/n!`之和,你可以创建一个循环,结合递归来计算阶乘。下面是一个简单示例:
```java
import java.util.Scanner;
public class SumOfFactorialParts {
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++) {
double part = calculateFraction(i); // 调用计算分数的函数
sum += part;
}
System.out.printf("1/1! + 1/2! + ... + 1/%d! = %.2f", n, sum);
}
// 递归计算阶乘
private static double calculateFraction(int num) {
if (num == 1)
return 1.0;
else
return 1.0 / num * calculateFraction(num - 1);
}
}
```
在这个程序中,用户输入一个正整数`n`,然后通过循环调用`calculateFraction()`函数计算每一步的分数部分,并累加到总和`sum`中。
阅读全文