用java程序for循环实现输入一个正整数实现其内奇数阶乘之和
时间: 2024-09-25 09:01:39 浏览: 42
在Java中,你可以使用`for`循环结合条件判断来实现输入一个正整数,并计算从1到该数字所有奇数的阶乘之和。这里是一个简单的示例:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个正整数:");
int num = scanner.nextInt(); // 获取用户输入的正整数
long sum = 0; // 初始化奇数阶乘之和
for (int i = 1; i <= num; i++) { // 遍历1到num
if (i % 2 != 0) { // 检查是否是奇数
// 计算并累加奇数的阶乘
factorial(i, sum);
}
}
System.out.println("从1到" + num + "的所有奇数阶乘之和为:" + sum);
scanner.close();
}
// 阶乘函数
private static long factorial(int n, long currentSum) {
if (n == 1) {
return currentSum;
} else {
return factorial(n - 1, currentSum * n); // 递归调用,每次将n乘到当前和上
}
}
}
```
在这个程序中,我们首先获取用户输入的正整数,然后遍历这个范围内的每个数,如果它是奇数,则计算它的阶乘并将结果累加到总和`sum`上。`factorial`函数负责递归地计算阶乘。
阅读全文