我想计算pi。但是,我有很多限制。变量最多只能包含5位小数,而且我只有以下运算符:
compare()
BBP算法在这里似乎没用,因为即使它不需要任意精度,我也无法在基数之间进行转换。我不知道任何其他公式可以在基数10中找到pi的第n位数。 甚至可以使用这些约束来计算pi吗?
答案 0 :(得分:1)
可以修改BBP以在基数10中给出π。There's a Java implementation on Github。 (我相信算法描述的截图取自Arndt / Haenel的 Pi - Unleashed 。)
您需要模运算和计算与数字的对数最接近的整数的方法,但您可以使用您拥有的操作和循环来执行它们。