输入正整数n,计算n!,结果用长整型数表示(注n!=1*2*3*...*n) 注:类名必须是Main(大写M)
时间: 2023-12-31 10:03:57 浏览: 33
下面是Java语言的代码实现:
```
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
BigInteger result = BigInteger.valueOf(1);
for (int i = 1; i <= n; i++) {
result = result.multiply(BigInteger.valueOf(i));
}
System.out.println(result);
}
}
```
该程序使用了Java中的BigInteger类来表示超过long类型范围的大整数。程序首先读入正整数n,然后使用循环计算n的阶乘。循环中,使用multiply方法将result乘以当前的i值。最后输出result即可。
相关问题
输入正整数 n,计算 n!,结果用长整型数表示
可以使用循环来计算 n!,每次将当前的数乘以前面的数,直到乘到 1 为止。由于 n! 的结果可能非常大,需要使用长整型数来表示。
以下是示例代码:
```python
n = int(input("请输入正整数 n:"))
result = 1
for i in range(1, n+1):
result *= i
print("n! 的结果为:", result)
```
注意,如果 n 的值比较大,计算 n! 的时间可能会比较长。此时可以考虑使用递归来计算,但同样需要注意数据类型的问题。
程序运行时输入一个正整数n,计算1!+3!+5!+...+n!并输出运行结果。
以下是Python语言实现的代码:
```python
n = int(input("请输入一个正整数n:"))
result = 1
for i in range(1, n+1, 2):
factorial = 1
for j in range(1, i+1):
factorial *= j
result *= factorial
print("1!3!5!...n!的结果为:", result)
```
代码解释:
1. 首先,我们通过input函数获取用户输入的正整数n,并将其转换为整型。
2. 接着,我们定义一个变量result,用于保存最终结果。将其初始化为1。
3. 然后,我们使用for循环从1到n(步长为2),依次计算1!、3!、5!、...、n!。对于每个奇数i,我们使用另一个for循环计算其阶乘,并将其累乘到result中。
4. 最后,我们输出计算结果。
示例输出:
```
请输入一个正整数n:5
1!3!5!...n!的结果为: 15
```
解释:1!=1,3!=6,5!=120,因此1!3!5!的结果为1*6*120=720。