java从键盘上输入一个大于1000的整数,求其阶乘及阶乘的二进制位数,再求它的50次方幂
时间: 2024-02-09 16:10:31 浏览: 69
Java中的程序题
好的,以下是Java语言的代码实现,可以实现从键盘输入一个大于1000的整数,求其阶乘及阶乘的二进制位数,再求它的50次方幂:
```java
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个大于1000的整数:");
int n = sc.nextInt();
sc.close();
BigInteger fact = BigInteger.valueOf(1);
for (int i = 1; i <= n; i++) {
fact = fact.multiply(BigInteger.valueOf(i));
}
int binary_len = fact.toString(2).length();
BigInteger power = fact.pow(50);
System.out.println("阶乘为:" + fact);
System.out.println("阶乘的二进制位数为:" + binary_len);
System.out.println("阶乘的50次方幂为:" + power);
}
}
```
以上代码中,使用了BigInteger类来处理大数的阶乘和幂计算。首先从键盘读取一个大于1000的整数n,然后使用循环计算n的阶乘。计算完阶乘后,使用toString(2)方法将阶乘转换成二进制字符串,再计算其长度得到二进制位数。最后使用pow方法计算阶乘的50次方幂,并输出结果。
您可以将以上代码复制到Java环境中运行,然后输入一个大于1000的整数,程序将会输出该数的阶乘、阶乘的二进制位数和阶乘的50次方幂。
阅读全文