java计算1! 2! … n!
时间: 2024-09-17 16:07:07 浏览: 29
在Java中,计算阶乘是一个常见的编程练习,特别是涉及到递归的时候。阶乘n!表示的是所有小于及等于n的正整数相乘的结果。以下是使用递归函数计算从1到n的阶乘的一个示例:
```java
public class Factorial {
public static void main(String[] args) {
int n = 5; // 可以替换为你想要计算阶乘的值
long result = factorial(n);
System.out.println("The factorial of " + n + " is " + result);
}
// 递归函数来计算阶乘
public static long factorial(int num) {
if (num == 0 || num == 1) { // 阶乘的基本情况,0! 和 1! 都是1
return 1;
} else {
return num * factorial(num - 1); // 递归调用,n! = n * (n-1)!
}
}
}
```
在这个例子中,`factorial`函数会不断递归地将当前数字乘以前面的数,直到达到基本情况(n=0或1),然后逐层返回结果。
相关问题
用Java计算1!+2!+3!+...+n!
在Java中,你可以使用递归的方式来计算阶乘,然后累加得到1! + 2! + 3! + ... + n!。这里是一个简单的示例:
```java
public class FactorialSum {
public static long factorial(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
public static long sumOfFactorials(int n) {
long sum = 0;
for (int i = 1; i <= n; i++) {
sum += factorial(i);
}
return sum;
}
public static void main(String[] args) {
int n = 5; // 可以改变这个值来计算不同范围的阶乘之和
long result = sumOfFactorials(n);
System.out.println("1! + 2! + 3! + ... + " + n + "! = " + result);
}
}
```
在这个例子中,`factorial`函数用于计算单个数的阶乘,`sumOfFactorials`函数则遍历从1到n的所有整数,并将它们的阶乘相加。
Java计算1!+2!+3!
以下是Java计算1!+2!+3!的代码:
```java
import java.util.Scanner;
public class Zheng {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int add=facadd(n);
System.out.println(add);
}
public static int facadd(int n) {
int sum=0;
for(int i=1;i<=n;i++) {
int ret=1;
for(int j=1;j<=i;j++) {
ret*=j;
}
sum+=ret;
}
return sum;
}
}
```
在这个代码中,我们使用了Scanner类来获取用户输入的数字n,然后调用facadd()方法来计算1!+2!+3!+...+n!的和。在facadd()方法中,我们使用了两个for循环来计算每个数字的阶乘,并将它们相加得到最终的结果。
阅读全文