private static BigDecimal pi(int n) {
BigDecimal FOUR = BigDecimal.valueOf(4);
BigDecimal ret = BigDecimal.valueOf(0);
for (int i = 0; i < n; i++) {
if (i % 2 == 0) {
BigDecimal two=FOUR.multiply(BigDecimal.valueOf(1).divide(
BigDecimal.valueOf(1).add(BigDecimal.valueOf(2).multiply(BigDecimal.valueOf(i))),200,BigDecimal.ROUND_HALF_UP));
//log.info(two.toString());
ret = ret.add(two);
}
else {
BigDecimal one=FOUR.multiply(BigDecimal.valueOf(1).divide(
BigDecimal.valueOf(1).add(BigDecimal.valueOf(2).multiply(BigDecimal.valueOf(i))),200,BigDecimal.ROUND_HALF_UP));
//log.info(one.toString());
ret =ret.subtract(one);
}
}
log.info(ret.toString());
return ret;
}
private static BigDecimal e(int n) {
BigDecimal ret = BigDecimal.valueOf(0);
for (int i = 0; i < n; i++) {
//log.info("i====="+ret.toString());
BigDecimal two=BigDecimal.valueOf(1).divide(mul(i),200,BigDecimal.ROUND_HALF_UP);
//log.info(two.toString());
ret = ret.add(two);
}
log.info(ret.toString());
return ret;
}
private static BigDecimal mul(int i)
{
BigDecimal ret = BigDecimal.valueOf(1);
if(i!=0)
{
for(int j=1;j<=i;j++)
{
ret = ret.multiply(BigDecimal.valueOf(j));
//log.info("j====="+ret.toString());
}
}
//log.info("!====="+ret.toString());
return ret;
}
public static void main(String[] args) {
e(100);
pi(100000000);
}
2.71828182845904523536028747135266249775724709369995957496696762772407663035354759457138217852516642742746639193200305992181741359662904357290033429526059563072731008532378052751063686487016953141865524
3.14159264358979323846264363327950288419713814937510582098447584230781640087605274862803975903352331797554953915000106881512247009780224313238301330846111033806913254936842953056383625960215678384907924



