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

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

王林
リリース: 2020-10-22 18:16:09
転載
3608 人が閲覧しました

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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート