用莱布尼兹级数计算pi什么是delta(运行计算的区别)?

8oomwypt  于 2021-07-03  发布在  Java
关注(0)|答案(0)|浏览(209)

我必须用莱布尼兹级数计算π到六位小数的精度,我设法做到了,只是赋值有一些限制。
pi/4=1-1/3+1/5-1/7。。。。
“无法使用数学库π 在你的计算中-直接或间接。仅使用正在运行的计算的增量(差)来确定何时停止循环“
我不明白这是什么意思,你运行的计算不同。另一种方式是“当你的计算值停止改变时,你的循环就可以停止”

package com.company;

public class Main {

public static void main(String[] args) {

    double series = 0;
    double denominator = 1;
    double numerator = 1;
    double pi;
    double testingPi;
    double formattedTestingPi = 0;
    double formattedMathPi = Math.round(Math.PI * 1000000.0) / 1000000.0;
    int max = 1200000;
    int iterations = 0;

    for(int i = 1; i < max;i++)
    {
        if((i % 2) != 0)
        {
            series = series + (numerator/denominator);
        }
        else if((i % 2) == 0)
        {
            series = series + ((numerator/denominator) * -1);
        }

        denominator = denominator + 2;
        testingPi = series * 4;

        formattedTestingPi = (Math.round(testingPi * 1000000.0))/1000000.0;

        if( formattedTestingPi == formattedMathPi)
        {
            iterations = i;
            i = max;
            System.out.println("We stop");
        }
    }

    pi = series * 4;

    System.out.println("Number of Iterations       :" + iterations);
    System.out.println("Unformatted Series         :" + series);
    System.out.println("Unformatted Math Library PI:" + Math.PI);
    System.out.println("Unformatted Computed     PI:" + pi);
    System.out.println("Formatted Computed       PI:" + formattedTestingPi);
    System.out.println("Formatted Math Library   PI:" + formattedMathPi);

 }

}
我不想要作业的解,我只想知道计算的delta是什么意思,它和我现在做的有什么不同?
输出
迭代次数:1181461
无格式系列:0.7853983749998679
未格式化数学库pi:3.141592653589793
未格式化计算pi:3.1415934999494715
格式化计算pi:3.141593
格式化数学库pi:3.141593

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题