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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

java中的分?jǐn)?shù)系列

java中的分?jǐn)?shù)系列

qq_遁去的一_1 2024-01-05 14:44:09
我需要使用循環(huán)來查找以下系列的總和:(2/3)-(4/5)+(6/7)-(8/9)+......±n我必須僅在該程序中使用 for 循環(huán)。參考代碼看看我做了什么:import java.util.Scanner;public class P64 {    public static void main(String args[]) {        Scanner sc=new Scanner(System.in);        System.out.println("Enter the limit");        double n=sc.nextDouble();        double sum=0;        for(double i=1;i<=n;i++) {            if(i%2==0)            sum=sum-(++i/i++);            else            sum=sum+(++i/i++);        }            System.out.println(sum);    }}我已經(jīng)嘗試過,但輸出不是 1 就是 0。
查看完整描述

4 回答

?
守著星空守著你

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超8個(gè)贊

您應(yīng)該使用單獨(dú)的變量作為值,就像在循環(huán)中使用相同的變量一樣,您的系列會(huì)讓它變得復(fù)雜,所以,試試這個(gè):


public static void main(String[] args){

    Scanner sc=new Scanner(System.in);

    System.out.println("Enter the limit");

    double n=sc.nextDouble();

    double sum=0;

    double j=1;

    for(double i=1;i<=n;i++)

    {

        if(i%2==0)

            sum=sum-(++j/++j);

        else

            sum=sum+(++j/++j);

    }

    System.out.println(sum);

}

Input: 4

Output: -0.16507936507936516


查看完整回答
反對(duì) 回復(fù) 2024-01-05
?
慕姐4208626

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超7個(gè)贊

我刪除了預(yù)增量/后增量的技巧,并讓限制決定了相加的項(xiàng)數(shù)。


import java.util.Scanner;

public class P64

{

    public static void main(String args[])

    {

        Scanner sc=new Scanner(System.in);

        System.out.println("Enter the limit");

        double n=sc.nextDouble();

        double sum=0;

        for(double i=1;i<=n;i++)

        {

            double delta = (2*i)/(2*i+1);

            if(i%2==0)

                sum -= delta;

            else

                sum += delta;

        }

        System.out.println(sum);

    }

}


查看完整回答
反對(duì) 回復(fù) 2024-01-05
?
慕婉清6462132

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊

我將使用一個(gè)變量進(jìn)行交替+-,并在每次迭代時(shí)采取兩步:


public static void main(String args[]) {

    Scanner sc = new Scanner(System.in);

    System.out.println("Enter the limit");

    double n = sc.nextDouble();

    double sum = 0;

    int sign = 1;

    for (double i = 2; i <= n; i = i+2 ) {

        sum = sum + (sign * (i/(i+1)));

        sign = -sign;

    }

    System.out.println(sum);

}


查看完整回答
反對(duì) 回復(fù) 2024-01-05
?
MMTTMM

TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊

我認(rèn)為越簡(jiǎn)單越好。


將其封裝在函數(shù)中可以使您的代碼更易于在主方法之外進(jìn)行測(cè)試和使用。


/**

 * @link https://stackoverflow.com/questions/58606895/series-with-fractions-in-java

 */

public class P64 {


    public static void main(String[] args) {

        int n = (args.length > 0) ? Integer.parseInt(args[0]) : 10;

        System.out.println(String.format("n: %5d sum: %10.5f", n, series(n)));

    }


    static double series(int n) {

        int sign = 1;

        double sum = 0.0;

        for (int i = 1; i <= n; ++i) {

            double x = 2.0*i;

            double term = sign*x/(x+1.0);

            sum += term;

            sign *= -1;

        }

        return sum;

    }

}


查看完整回答
反對(duì) 回復(fù) 2024-01-05
  • 4 回答
  • 0 關(guān)注
  • 200 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

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