首先,这个题目是以前读书时候竞赛上出现的一道题目,当时没有做出来,我只是知道思路,因为数太大没计算出现;最近刚好复习BigInteger和BigDecimal 的知识,而不能用double,就想到了这个题目;
要求解PI首先要知道他的求解公式:
arctan(x) = x − x3/3 + x5/5 − x7/7 + x9/9 − x11/11 + . . .
π =
12·arctan(1/4)
+
4·arctan(1/20)
+
4·arctan(1/1985)
就可以根据给出的公式来进行求解:
package gc;
import java.math.BigDecimal;
import java.math.BigInteger;
import org.junit.Test;
/**
*类描述:根据泰勒公式计算PI小数点后面的100位数 计算时间太长,但是自我感觉程序没有问题
*arctan(x) = x − x3/3 + x5/5 − x7/7 + x9/9 − x11/11 + . . .
*
*π =12·arctan(1/4)+4·arctan(1/20)+4·arctan(1/1985)
*根据此公式计算PI的值
*
*@author: 张宇
*@date: 日期: 2018年9月4日 时间: 下午7:23:05
*@version 1.0
*/