Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Não uma dúvida, mas uma contribuição para quem achou interessante o problema da somatória do Gauss. O while faz a força bruta, e total2 usa uma expressão que dá o mesmo resultado.

public class TestaSomatoria {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        double contador = 0;
        double total = 0;
        double teto = 137;

        while (contador <= teto) {
            total += contador;
            contador++;
        }
        System.out.println((int) total);

        double total2 = (((teto / 2) * teto) + (teto / 2));

        System.out.println((int) total2);
    }

}
1 resposta

Boa noite, Fernando! Como vai?

Muito bacana a sua observação! Obrigado pela sua colaboração! É com participações como essa sua que fazemos da Alura uma plataforma cada vez melhor! Continue assim!

Inclusive, como forma de engrandecer ainda mais o seu post, gostaria de destacar que ainda daria pra simplificar o cálculo de total2 usando uma variação da fórmula do somatório dos n primeiros termos de uma progressão aritmética (PA)!

double total2 = ( (1 + teto)*teto )/2;

Obs.: Essa fórmula só será válida se a contagem sempre partir do número 1 como primeiro valor da PA e se a diferença de um termo para outro da PA for sempre 1. Ou seja, se a PA é da forma: 1, 2, 3, 4, ...

Para saber mais sobre PA: https://www.somatematica.com.br/emedio/pa/pa4.php

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!