用java编程,从键盘上输入一个大于1000的整数,求其阶乘及阶乘的二进制位数,再求它的50次方幂。
时间: 2023-11-28 22:47:09 浏览: 105
可以使用Java的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的整数:");
int num = scanner.nextInt();
BigInteger factorial = BigInteger.ONE;
for (int i = 1; i <= num; i++) {
factorial = factorial.multiply(BigInteger.valueOf(i));
}
System.out.println(num + "的阶乘为:" + factorial);
int bitCount = factorial.bitCount();
System.out.println("阶乘的二进制位数为:" + bitCount);
BigInteger pow50 = factorial.pow(50);
System.out.println(num + "的50次方幂为:" + pow50);
}
}
```
代码中,首先使用Scanner类从键盘上输入一个大于1000的整数;然后使用BigInteger类计算该整数的阶乘,并输出结果;接着使用bitCount()方法获取阶乘的二进制位数,并输出结果;最后使用pow()方法计算该整数的50次方幂,并输出结果。
阅读全文