package pack2;
import java.math.BigDecimal;
import java.math.BigInteger;
public class AppropriateE {
public static void main(String[] args) {
BigDecimal bigDecimal;
for (int i = 100; i <= 1000; i += 100) {
bigDecimal = BigDecimal.ONE;
for (int j = 1; j <= i; j++)
bigDecimal = bigDecimal.add(BigDecimal.ONE.divide(new
BigDecimal(getMultiply(j)), 25, BigDecimal.ROUND_UP));
System.out.println(i + " " + bigDecimal);
}
}
/**返回指定值的阶乘*/
public static BigInteger getMultiply(int integer) {
BigInteger bigInteger = new BigInteger("1");
for (int i = 1; i <= integer; i++)
bigInteger = bigInteger.multiply(new BigInteger("" + i));
return bigInteger;
}
}
package test;
import java.math.BigDecimal;
import java.math.BigInteger;
/**
* @create: 2023/3/25
* @Description:
* @FileName: Main
*/
public class Main {
public static void main(String[] args) {
BigDecimal e = BigDecimal.ONE; // 大数 e
BigInteger n = BigInteger.ONE; // 大整数
for (int i = 100; i <= 1000; i += 100) {
// 迭代得到e并在下次重复使用已有值
for (int j = i - 99; j <= i; j++) {
n = n.multiply(BigInteger.valueOf(j)); // 阶乘
e = e.add(BigDecimal.ONE.divide(new BigDecimal(n), 25, BigDecimal.ROUND_UP));
}
System.out.println(i + " " + e);
}
}
}