Maison  >  Article  >  Java  >  Trois façons de calculer la somme des entiers positifs inférieurs à 100 en Java

Trois façons de calculer la somme des entiers positifs inférieurs à 100 en Java

王林
王林avant
2020-10-22 18:15:153561parcourir

Trois façons de calculer la somme des entiers positifs inférieurs à 100 en Java

La méthode est la suivante :

(Tutoriel recommandé : cours java)

Solution brutale

Utilisez la boucle for pour résoudre directement le problème un par un, la complexité de l'algorithme est 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 La programmation de flux

est la. identique à la solution par force brute, mais utilise des déclarations Un type de programmation de flux avec moins de code et plus de lisibilité

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

3 Utilisez la formule de sommation

Utilisez la formule de sommation de séquence arithmétique

<.>complexe Le degré est 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 :


    @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));
    }

Résultat de sortie :


sumByDirect=5050
sumByStream=5050
sumByFormula=5050

Recommandations associées :

Démarrer avec Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer