如何为 BBP 算法做 base 16 以获得 PI

我正在使用以下代码来计算 Pi,但我得到了错误的答案,因为公式有些如何使用基数 16。维基百科在这里说公式与十六进制有关,但我不知道公式过程的哪一部分。您使用以 16 为基数的公式的哪一部分,是公式的输入还是只是输出?例如,我是在将 k 输入公式之前将 k 转换为基数 16 还是将正常的基数为 10 的数字输入公式并将公式的输出从基数 16 转换为基数 10。错误的答案给出了以下代码的几个小数位错误:


import java.io.Console;


public class Main {


public static void main(String[] args) {

        System.out.println("Enter how many decimal places you want for Pi?");

        String line = System.console().readLine();

        double x = Double.parseDouble(line);

        double y = 0.0;


        for(double i = 0; i <= x; i++)

        {

            y = y + (1.0/Math.pow(16.0,i))*((4.0/(8.0*i + 1.0))-(2.0/(8.0*i + 4.0)) - 

            (1.0/(8.0*i + 5.0)) - (1.0/(8.0*i + 6.0)));

        }

        System.out.println(y);

    }

}


互换的青春
浏览 156回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java