首頁  >  文章  >  Java  >  java計算100以內的正整數和的三種方法

java計算100以內的正整數和的三種方法

王林
王林轉載
2020-10-22 18:15:153508瀏覽

java計算100以內的正整數和的三種方法

方法如下:

(推薦教學:java課程

1、暴力解

#使用for迴圈直接逐一求解,演算法複雜度為O ( n ) O(n)O(n)

    /**
     * <p>暴力解法</p>
     * @param startInclusive
     * @param endExclusive
     * @return
     */
    public int sumByDirect(int startInclusive, int endExclusive){
        int sum = 0;
        for (int i = startInclusive; i < endExclusive; i++) {
            sum += i;
        }
        return sum;
    }

2、流式程式設計

同暴力解法一樣,不過使用了聲明式的串流編程,程式碼量更少且更加的具有可讀性

    /**
     * <p>流式编程</p>
     * @param startInclusive
     * @param endExclusive
     * @return
     */
    public int sumByStream(int startInclusive, int endExclusive){
        return IntStream.range(startInclusive, endExclusive).sum();
    }

3、利用求和公式

利用等差數列求和公式

複雜度為O ( 1 ) O(1)O(1)

    /**
     * <p>利用求和公式</p>
     * @param startInclusive
     * @param endExclusive
     * @return
     */
    public int sumByFormula(int startInclusive, int endExclusive){
        return ((startInclusive + endExclusive - 1) * (endExclusive - startInclusive) )  >> 1;
    }

測試:


    @Test
    public void Test() {
        System.out.println("sumByDirect=" + sumByDirect(1, 101));
        System.out.println("sumByStream=" + sumByStream(1, 101));
        System.out.println("sumByFormula=" + sumByFormula(1, 101));
    }

輸出結果:

sumByDirect=5050
sumByStream=5050
sumByFormula=5050
相關推薦:
java入門

######

以上是java計算100以內的正整數和的三種方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除