intsoma=0;for(inti=1; i <= 1000; i++)soma+=i;System.out.println(soma);
Blz! :thumbup:
J
jb1
Vlw!!
E se eu pusesse esse cógido daria certo?
double soma=0;
double i=1; while(i<=1000){
soma=soma+i;
System.out.println(soma);
daria certo tb né?
Romeo
não
pq vc não tenta implementar, assim parece pergunta de trabalho de faculade…
sergiotaborda
jb:
Boa Tarde Pessoal, estou seguindo uma apostila da Caelum e tem um exercício nela que não estou conseguindo resolver:
imprimir a soma de 1 até 1000.
qual o código que eu poderia usar para fazer essa soma?
Se vocês poderem me ajudar ficarei muito grato.
Té mais
publicabstractSumUtils{privateSumUtils(){}publicstaticintsumAll(intini,intend){returnend*(end+1)/2-ini*(ini-1)/2;}}// soma de 1 a 1000System.out.println(SumUtils.sumAll(1,1000));
fabiozoroastro
Faltou incrementar a variável i.
Nesse seu código está dando Loop infinito.
maquiavelbona
Ops. Perae, código errado.
J
jb1
eu tentei e deu errado mesmo.
dai coloquei o incremento em i
i=i+1;
dai desse jeito daria certo?
Romeo
double soma=0;
double i=1; while(i<=1000){
soma=soma+i;
i = i+1
}// <-- tem q fechar o while
System.out.println(soma);
fabiozoroastro
Compila aew pra ver se funciona homessa. rs…
abraço.
J
jb1
Maravilha!!! agora deu certin.
Muito obrigado gente. E com certeza até a próxima.
ViniGodoy
Antes de se bitolar no for, que tal usar a forma matemática, como o Sergio fez?
Além de evitar o for, deve ser consideralvemente mais rápida:
inta1=1;intan=1000;intn=1000;System.out.println((a1+an)*(n/2));//Formula da PA.
J
jb1
vlw vini.
agora vi que posso é utilizar basicamente as formulas matematicas. assim fica mais facil, pelo menos por enquanto.
Brigadu a todos.
Renatha
Pessoal sou nova no forum …estava tb estudando pela apostila Caelum essa mesma questao
vi que respodi igual ao que ensinaram aqui mas o que vi é q a resposta é a soma de cada numero tipo 1+2, depois 3+3 etc
Gostaria de saber como faço para imprimir somente a soma de todos os numeros até 1000
uma resposta so …será q deu para entender??
aguardo ajuda…
obrigada
T
thingol
Dona Renata, a soma dos números de 1 até N pode ser calculada assim:
publicstaticintsomar(intn){
inttotal=0;for(inti=1; i <= n; ++i) {total=total+i;}
returntotal;
}
Se você for mais esperta, pode usar a fórmula que Gauss usou quando lhe pediram para fazer esse tipo de soma, que é:
:
publicstaticintsomar(intn){returnn*(n+1)/2;}
(No tempo do Gauss, o professor só queria uma forma de se ver livre dos alunos por algum tempo, e passou como atividade de classe somar os números de 1 até 100. Como Gauss era mais inteligente* que o professor, ele pensou assim:
A soma dos números de 1 a 100 é 1 + 2 + 3 + … + 98 + 99 + 100
Se eu pegar os números dos cantos e ir somando em direção ao meio, você vai ter: 1 + 100 = 101, 2 + 99 = 101 e assim por diante, até chegar a 50 + 51 = 101. O total desses pares de somas é 50, que é 100 / 2.
Então é só multiplicar 50 por 101, que dá 5050.
Mas não mais esperto - se ele fosse esperto, ficava na moita coçando e jogando aviõezinhos de papel no fundo da sala, até que alguém terminasse a tarefa, e então daria a resposta. Mas assim ninguém o teria notado, e ele não estaria na História.
maquiavelbona
Como você faria na mão (matemática de segundo grau, por favor…)? Poderias tentar fazer isso só que em código.
Ou iterando e somando, você escolhe.