ホームページ >Java >&#&はじめる >Java で 100 以内の正の整数の合計を計算する 3 つの方法

Java で 100 以内の正の整数の合計を計算する 3 つの方法

王林
王林転載
2020-10-22 18:15:153618ブラウズ

Java で 100 以内の正の整数の合計を計算する 3 つの方法

方法は次のとおりです:

(推奨チュートリアル: java コース)

1. 残酷な解決策

for ループを使用して問題を 1 つずつ直接解決すると、アルゴリズムの複雑さは 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. 総和式の使用

##等差数列和式の使用

# #complex 次数は 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 以内の正の整数の合計を計算する 3 つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。