URGENTE ! Soma dos 30 primeiros termos!

Boa tarde !

Estou cursando Tecnologo em redes de computadores, e tenho uma materia chamada algoritimo !
na aula passa meu prof passou um exercicio pra resolver em casa que eu nao estou conseguindo me ajudem ai por favor.

5-) Desenvolva um algoritimo em java que calcule e mostre o valor da somatória dos trinta primeiros termos da seguinte série:
Série = 5/1000 - 10/980 + 5/960 - 10/940

eu to começando e nao manjo absolutamente nada e começei por aqui.

public class Exercicio5 {
public static void main (String [] args) {
double a=5, b=1000, s=0;
int i;

	for(i=1;i<=30;i++) {
		s = (a/b) + s;
		
		if ( a == 5) {
			a = -10;
		}
		b -= 30;		
	}
	
	System.out.println(s);
}

}

é urgente?

então liga pra polícia, bombeiros, defesa civil, eles tratam coisas urgentes ok.

p.s. já tentou resolver? já quebrou muito a cabeça? tá começando a chorar de raiva pq não consegue resolver?

Fala ae cara,

O problema do seu código é que o b -= 30; deve ser b -= 20;
E você se esqueceu de quando o numerador for igual a -10 ele tem que receber o 5 de novo :smiley:



public class Exercicio5 {

	/*
	 * Criação das constantes
	 * Caso você queira alterar algum parâmetro, só precisará mexer aqui.
	 * */
	private static final int NUM_TERMOS = 30;
	private static final int DENOMINADOR = 1000;
	private static final int PRIMEIRO_NUMERADOR = 5;
	private static final int SEGUNDO_NUMERADOR = 10;

	public static void main(String[] args) {
		System.out.println("Resultado na forma 1 : " + calculo1());
		System.out.println("Resultado na forma 2 : " + calculo2());
	} 


	private static double calculo1 (){

		double soma = 0;
		double subtracao = 0;

		//Soma todos com o numerador 5 
		for (int i = 0 , j = DENOMINADOR ; i < NUM_TERMOS/2 ; i++ , j -= 40) {
			soma += (double)PRIMEIRO_NUMERADOR/j;
		}
		
		//Soma todos com o numerador 10
		for (int i = 0 , j = DENOMINADOR - 20 ; i < NUM_TERMOS/2 ; i++ , j -= 40) {
			subtracao += (double)SEGUNDO_NUMERADOR/j;
		}
		
		//Retorna o valor da 'soma' dos números positivos com os números negativos
		return soma - subtracao;
	}

	//Esse método é praticamente o que você tinha feito, mas com os ajustes
	private static double calculo2(){
		
		double soma = 0;
		int numerador = PRIMEIRO_NUMERADOR;
		int denominador = DENOMINADOR;
		for (int i = 0; i < NUM_TERMOS; i++ , denominador -= 20) {
			soma += (double)numerador/denominador;
			
			/*
			 * A linha abaixo é a mesma coisa que 
			 * if(numerador == PRIMEIRO_NUMERADOR) 
			 *    numerador = - (SEGUNDO_NUMERADOR)
			 *  else
			 *  	numerador = PRIMEIRO_NUMERADOR
			 * 
			 * */
			
			numerador = (numerador == PRIMEIRO_NUMERADOR) ? - (SEGUNDO_NUMERADOR) : PRIMEIRO_NUMERADOR;
		}
		return soma;
	}
}

opaaa
obrigado cara eu refiz aki antes de ler o post e tinha dado esse resultado so q tinha usado if…e assim eh bem mais simples porem mais dificil mas obrigado por me ajudar ao contrario desse desgraçado ai de cima

flww