[quote=Guts00][quote=sergiotaborda][quote=Guts00]O código esta igual de um colega aqui do tópico
[code]
public class Exercicio22 {
public static void main (String [] args) {
int min = 1;
int max =1000;
int soma = (min+max) * ((max-min+1) /2);
System.out.println(soma);
}
}
/code]
esse código apenas aparece 500500
[/quote]
A soma de 1 até N é igual a N(N+1)/2 ( com N > 1)
A soma de 1 a 100 é 100101/2 = 5050.
A soma de 1 a 1000 é 10001001/2 = 500500
Se aparece 500500 está certo, porque vc está somando até mil[/quote]
Sérgio, é que eu não entendi bem o enunciado do exercicio da apostila, que diz: Imprima a soma de 1 até 1000
Usando a PA, é possível linha após linha imprimir a soma e o resultado?
tipo
1+1 = 2
1+2 = 3
1+3 = 4
…
Eu tentei por aqui e nao consegui, em vista que sou bem iniciante, p mim é algo um pouco complicado.
Obrigado[/quote]
O enunciado “Imprima a soma de 1 até 1000” significa “imprima o resultado de somar todos os números entre 1 e mil”.
“soma” é o nome do resultado de uma operação de adição
Pense “Imprima o quociente de 40 e 50” , vc pensaria em imprimir todos os passos da conta de dividir ? Não , né. O enunciado só lhe pede o resultado de uma conta de dividir de 40 por 50.
Se fosse necessários mostrar os passos, isso estaria escrito explicitamente , por exemplo, “Imprima todos os passos do calculo da soma de 1 a mil”
O truque é que para saber a soma não é preciso fazer um laço. Por isso, pedir que se imprima os passos, seria ridiculo. O cara simplesmente faz um conta e pronto. Tal como se fosse uma divisão ou um produto.
Claro que o programador junior vai usar um laço e 99% das respostas serão um laço. Mas sempre tem alguém que prestou atenção nas aulas de matemática e vai lembrar de usar uma formula. O que é muito bom, porque laços devem ser evitados tanto quanto possivel.
Então, sem medo, não viagemos nos enunciados que não é preciso. Se o cara que escreveu aquele enunciado espera o passo a passo, então ele não sabe se expressar em português escrito. Problema dele. Não seu.