Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Dúvida no Ex. 4 da Aula 2 - Variáveis e fluxo

Implementei o código da seguinte maneira

class A02E04{
    public static void main(String[] args){
        int soma = 0;
        for(int n = 1; n<=1000; n++){
            soma = soma + n;
        }
        System.out.println(soma);
    }
}

Ao executar, resultado: 500500.

O gabarito do exercício apresenta o seguinte código:

class ImprimeSoma{
    public static void main(String[] args){

        int soma = 0;

        for (int i = 1; soma <= 1000; i++){
            soma = soma + i;            
        }
        System.out.println("O valor da soma e = " + soma);
    }
}

Ao executar, resultado: O valor da soma e = 1035

Para mim, a minha implementação está correta, somando 1+2+3+4+5+6+...+1000.

A implementação do gabarito está interrompendo a laço do for quando o valor da soma atinge 1000.

Se o gabarito estiver de fato correto, alguém pode me ajudar com o raciocínio? Nesse caso eu que não entendi o enunciado corretamente.

Obrigado.

5 respostas
solução!

Pelo que eu li no exercício, sua resposta está correta. Pois pede para imprimir a soma de 1 até 1000 que é igual 500500 (usando o método de Gauss). Na linha do Gabarito:

for (int i = 1; soma <= 1000; i++){

o correto seria

for (int i = 1; i <= 1000; i++){

Espero ter ajudado.

Olá Henrique! De fato você está correto. O Exercício pede simplesmente a soma de 1 até 1000. Desta forma o correto seria fazer como você fez. Estarei corrigindo o exercício. Obrigado pela observação e bons Estudos!

Pronto Henrique! A Resposta foi consertada. Obrigado novamente e Bons Estudos!

Obrigado a todos !

public class Exercicio2{ public static void main(String[] args){

int soma = 0; for(int x = 1; x <= 1000; x++){ soma = soma + x; System.out.println("Soma "+soma); } }

}