Como faço para imprimir a soma de 1 até 1000:
1+2+3+4+5…+99+100…
Como faço para imprimir a soma de 1 até 1000:
1+2+3+4+5…+99+100…
Em Ruby
1000.times {|v| puts v}
Em Java: use o laço FOR
Para somar números consecutivos, soma-se o primeiro com o último e multiplica-se por métade dos números a somar
int min = 1;
int max = 1000;
int soma = (min + max) * ((max - min + 1) / 2)
Exato.
Nada mais, nada menos que a famosa soma dos termos de uma progressão aritmética.
Matéria do segundo grau.
Agora, se vc quer imprimir efetivamente a continha, aí sim, use o laço for.
O que estou procurando é =ou- isto aqui:
public static void main (String [] args)
{
for (int x = 0, y = 0; x <= 1000; y++){
x = x + y;
System.out.println(x);
}
}
E por que não é exatamente isso aí?
int resultado = 0;
for (int x = 1; x <= 1000; x++)
resultado += x;
O sistema teria que imprimir:
0=0+0
1=0+1
3=1+2
6=3+3
10=6+4
15=10+5
até
…=…+1000
uma soma acumulada.
int resultado = 0;
int ultimoValor;
for (int x = 0; x <= 1000; x++) {
ultimoValor = resultado;
resultado += x;
System.out.printf("%d = %d + %d\n", resultado, ultimoValor, x);
} // for
Obrigado pessoal!
Vixii, acho que vou ser péssima.
Tive um raciocinio quase parecido com o ultimo, mas nem lembrei da pg!
Aff Odeio matématica!
Estou perdida sem saber como pensar :S
A idéia de utilizar a PA é infinitamente mais eficiente do que percorrer todos os números e sair somando cada um.
E se a soma fosse ate 1.000.000? Pense nisso.
Usa a fórmula da PA que o cara colocou e seja feliz,
Abraços,
Fiquei perdida é PG ou PA?
oi rafaela,
Progressao Aritmetica = Somatório.
Progressão Geométrica = Produtório.
Hum agora sim entendi valeu pessoal do GUJ
Eu tentei assim, e deu certo…
public class SomaUmMil {
public static void main(String[]args){
int inicio=1;
double fim=1000;
double operacao = (inicio + fim) * (fim/2);
int resultado = (int)operacao;
System.out.println(resultado);
}
}
int x = 123;
int y = 331;
int maX = max(x, y);
int miN = min(x, y);
int ans = (((maX * (maX + 1))) - ((miN * (miN - 1)))) / 2;
Qualquer range que a diferenca >= 0 em O(1).
Por que o resultado deu 500500 ???
Não era pra imprimir a soma??? Tipo 1+1=2 2+3… Algo assim?
Alguém pode me explicar??? Sou leigona em entender problemas assim…?
Estou estudando pela apostila do Caelum e tentando fazer os exercícios, quero muito ser programadora Java.
Mas tenho dificuldades em entender enunciado.
E por favor tenha paciência comigo rsrs
Obrigada.
Abraços!
Depende. Se você quer imprimir o resultado da soma, ou o cálculo também.
Isso vai depender de como o enunciado está escrito.
Se for imprimir o cálculo, terá que usar o for. Se não for, pode usar a soma dos termos da PA, que é bem mais eficiente.
[b][color=green]Bom dia pessoal.
Putz, tentei os códigos por aqui e no meu pc tb aparece 500500.
tentei usar o laço for : for (int x = 1; x <=1000; x++) e tb nao rolou, será q é problema do meu NotePad++ ou algum vacilo no código?
Estou com a apostila da Caelum e estudando sozinho, algum help?
Vlw[/color][/b]