第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

格雷戈里級數(shù)給出的結(jié)果值很接近,但不正確?

格雷戈里級數(shù)給出的結(jié)果值很接近,但不正確?

幕布斯7119047 2023-07-28 15:28:02
問題:數(shù)字“pi”(3.14159...)不能表示為兩個數(shù)字的簡單比率。相反,pi 的值通常是通過對無限數(shù)列的項求和來計算的。隨著該系列中越來越多的項被評估,總和接近 pi 的“真實”值。可用于此目的的一個級數(shù)稱為格里高利級數(shù),它計算 pi 的值如下: pi = 4/1 – 4/3 + 4/5 – 4/7 + 4/9 – 4/11 + ……觀察到隨著計算的進行,級數(shù)項的數(shù)值變得越來越小。例如,第一項的值為 4/1 = 4,第二項的值為 4/3 = 1.333…,第三項的值為 4/5 = 0.8,依此類推。編寫一個程序,使用格里高利級數(shù)計算 pi 的值。程序的輸入將是一個稱為 limit 的十進制值。程序應(yīng)通過對級數(shù)的項求和來計算 pi 的值,但僅直到被求和的項的值小于或等于 limit 值為止,此時程序終止總結(jié)。因此,添加到總和中的級數(shù)的最后一項是其值小于或等于 limit 值的第一項。然后,程序打印出此時 pi 的計算值,以及通過計算求和的實際項數(shù)。import java.util.Scanner;public class Main {    public static void main(String[] args) {        Scanner kb=new Scanner(System.in);        System.out.println("Enter Limit");        double limit=kb.nextDouble();        int TermsSum=0;        double PiVal=0;        double min=1;        double PiCon = (4.0 / min);        while (limit<=PiCon) {            if (limit <= PiCon) {                TermsSum++;                PiVal += (PiCon);                min += 2;                PiCon = (4.0 / min);            }            if (limit <= PiCon) {                TermsSum++;                PiVal += (-(PiCon));                min += 2;                PiCon = (4.0 / min);            }        }        System.out.println("Limit: "+limit);        System.out.println("Pi Value: "+PiVal);        System.out.println("Terms Summed: "+TermsSum);    }}如果我輸入以下限制,預(yù)期結(jié)果如下Limit: 0.075 = Pi: 3.1058897382719475 = Terms Summed: 28Limit: 0.00001 = Pi: 3.141597653564762 = Terms Summed: 200001我當前計劃的結(jié)果是Limit: 0.075 = Pi: 3.1786170109992202 = Terms Summed: 27Limit: 0.00001 = Pi: 3.1415876535897618 = Terms Summed: 200000
查看完整描述

1 回答

?
繁星coding

TA貢獻1797條經(jīng)驗 獲得超4個贊

您對迭代次數(shù)的計算是錯誤的。我已經(jīng)更正了你的代碼。為了方便起見,我還打印了該系列?,F(xiàn)在該值符合預(yù)期。


        public static void main(String[] args) {


            Scanner kb=new Scanner(System.in);

            System.out.println("Enter Limit");

            double limit=kb.nextDouble();


            int TermsSum=1;

            double min=1;

            double PiVal= 4.0 / min;

            double PiCon = 4.0 / min;

            System.out.print("4.0 /" + min);

            while (limit<=PiCon) {

                if (limit <= PiCon) {

                    TermsSum++;

                    min += 2;

                    PiCon = (4.0 / min);

                    PiVal += (-(PiCon));

                    System.out.print("-"+"4.0 /" + min);

                }

                if (limit <= PiCon) {

                    TermsSum++;

                    min += 2;

                    PiCon = (4.0 / min);

                    PiVal += (PiCon);

                    System.out.print("+"+"4.0 /" + min);

                }



            }

            System.out.println("Limit: "+limit);

            System.out.println("Pi Value: "+PiVal);

            System.out.println("Terms Summed: "+TermsSum);

        }


查看完整回答
反對 回復(fù) 2023-07-28
  • 1 回答
  • 0 關(guān)注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號