Maison > Java > Javacommencer > le corps du texte

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

王林
Libérer: 2020-10-22 18:16:09
avant
3586 Les gens l'ont consulté

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;
    }
Copier après la connexion

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();
    }
Copier après la connexion

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;
    }
Copier après la connexion

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));
    }
Copier après la connexion

Résultat de sortie :


sumByDirect=5050
sumByStream=5050
sumByFormula=5050
Copier après la connexion
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!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal