1. 程式人生 > 其它 >Java-計算8+88+888+......前十項之和

Java-計算8+88+888+......前十項之和

思路:

這個題目和前面的階乘相加有相似之處,都需要用中間變數來進行存放資料 我們還寫出來這個題目的前幾個式子,以便我們找出規律

`8*10^0

8*10^0+8*10^1

8*10^0+8*10^1+8*10^2

......`

從這三個式子我們可以看出來,第二個式子的第一項是第一個式子,第三個式子的前兩項是第二個式子 ,也就是說第n個式子(這個式子有m項),前面的m-1項是上一個式子,這樣我們還可以用中間變數加for迴圈的方法來實現這個計算。 程式碼實現:

package com.java_03;
/*
    需求:
        編寫應用程式,使用for迴圈語句計算8+88+888+...前十項之和
    思路:
        這裡和前面的求階乘之和有相似之處
        8
        8+8*10
        8+8*10+8*10*10
        ...
 */
public class Test04_5 {
    public static void main(String[] args) {
        //定義中間變數midnum,中間求和變數sum,初始值num,最終結果endnum
        double midnum = 0;
        double midsum = 0;
        double num = 8;
        double endnum = 0;
        //for迴圈
        for(int x=0; x<10; x++) {
//Math.pow(底數,指數),求次方
            midnum = num*(Math.pow(10,x));
            sum = sum + midnum;
            endnum +=sum;
        }
        System.out.println(sum);
    }
}

Math包含用於執行基本的數字運算等基本指數、對數、平方根法、三角函式。 我們可以直接呼叫Math裡的pow函式來實現求次方的功能。 Math.pow(double a, double b) :返回a^b,也就是a的b次方