java计算:输入任意正整数n,代入:(10除以2的阶乘)加上(20除以4的阶乘)加上(40除以6的阶乘)加上……(找出规律以此类推)加上(10乘以2的n次方再除以2乘以n的阶乘)
时间: 2024-01-01 09:04:44 浏览: 127
以下是 Java 代码实现:
```java
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
BigInteger sum = BigInteger.ZERO;
BigInteger denominator = BigInteger.ONE;
int numerator = 10;
for (int i = 1; i <= n; i++) {
sum = sum.add(BigInteger.valueOf(numerator).multiply(BigInteger.valueOf(2).pow(i)).divide(denominator));
denominator = denominator.multiply(BigInteger.valueOf(2 * i));
numerator *= 2;
}
System.out.println(sum);
}
}
```
输入正整数 n 后,我们用 BigInteger 类型的 sum 来保存每一项的和,用 BigInteger 类型的 denominator 来保存每一项的分母,用 int 类型的 numerator 来保存每一项的分子。然后用 for 循环从 1 到 n,将每一项的结果加到 sum 中,同时更新 denominator 和 numerator 的值。最后输出 sum 即可。
注意:由于本题中分子和分母都可能非常大,所以我们需要使用 BigInteger 类型来避免整数溢出。
阅读全文