从键盘输入两个整数,求两个整数阶乘之和
时间: 2023-09-23 17:02:26 浏览: 42
以下是Python代码实现:
```
a = int(input("请输入第一个整数:"))
b = int(input("请输入第二个整数:"))
def factorial(n):
# 计算n的阶乘
if n == 0:
return 1
else:
return n * factorial(n-1)
sum = factorial(a) + factorial(b)
print("两数阶乘之和为:", sum)
```
相关问题
c语言 从键盘输入两个整数,求两个整数阶乘之和
```c
#include <stdio.h>
int main() {
int num1, num2, i;
long long fact1 = 1, fact2 = 1, sum;
printf("请输入两个整数:");
scanf("%d%d", &num1, &num2);
// 计算num1的阶乘
for(i = 1; i <= num1; i++) {
fact1 *= i;
}
// 计算num2的阶乘
for(i = 1; i <= num2; i++) {
fact2 *= i;
}
// 计算阶乘之和
sum = fact1 + fact2;
printf("%d! + %d! = %lld\n", num1, num2, sum);
return 0;
}
```
用java.从键盘上输入一个大于1000的整数,求其阶乘及阶乘的二进制位数,再求它的50次方幂 用两种方法
好的,我会为您解答这个问题。
首先,我们可以使用 `java.math.BigInteger` 类来计算大整数的阶乘和幂。以下是使用 `BigInteger` 类的代码。
```java
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个大于1000的整数:");
BigInteger n = scanner.nextBigInteger();
// 计算阶乘
BigInteger factorial = BigInteger.ONE;
for (BigInteger i = BigInteger.ONE; i.compareTo(n) <= 0; i = i.add(BigInteger.ONE)) {
factorial = factorial.multiply(i);
}
System.out.println("阶乘:" + factorial);
// 计算阶乘的二进制位数
int bits = factorial.bitLength();
System.out.println("阶乘的二进制位数:" + bits);
// 计算50次方幂(方法1)
BigInteger pow1 = factorial.pow(50);
System.out.println("50次方幂(方法1):" + pow1);
// 计算50次方幂(方法2)
BigInteger pow2 = BigInteger.ONE;
for (int i = 0; i < 50; i++) {
pow2 = pow2.multiply(factorial);
}
System.out.println("50次方幂(方法2):" + pow2);
}
}
```
另外,如果您想了解更多关于 `BigInteger` 类的知识,可以查看 [Java官方文档](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigInteger.html)。
希望我的回答能够帮助到您。