Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

System

Progressão Aritmética (P.A.)

Recommended Posts

Seguinte, estou tentando fazer uma lógica que dada uma seqüência:

 

1. Calcula a diferença entre os termos.

 

Ex.: Sendo a seqüência:

0;2;4;6;8;10

Temos:
0 e 2 = 22 e 4 = 24 e 6 = 26 e 8 = 28 e 10 = 2
2. Calcula a média das diferenças obtidas.

 

3. Soma a média das diferenças com o último termo da seqüência.

 

Minha dificuldade é com obter das diferenças. Como faço para obtê-las?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguinte, estou tentando fazer uma lógica que dada uma seqüência:

 

1. Calcula a diferença entre os termos.

 

Ex.: Sendo a seqüência:

0;2;4;6;8;10

Temos:
0 e 2 = 22 e 4 = 24 e 6 = 26 e 8 = 28 e 10 = 2
2. Calcula a média das diferenças obtidas.

 

3. Soma a média das diferenças com o último termo da seqüência.

 

Minha dificuldade é com obter das diferenças. Como faço para obtê-las?

 

Cara fiz meia boca , não se preocupe como o nome da classe , usei uma que já tava aberta aqui... http://forum.imasters.com.br/public/style_emoticons/default/closedeyes.gif

 

public class GeradorDePrimos {	private int numero = 1000000;//	/**	 * @param args	 */	public static void main(String[] args) {		GeradorDePrimos p = new GeradorDePrimos();		//p.gerarPrimos(50);//Qtde de primos a ser gerada		int aux = 0;		int values[] = {0,2,4,6,8,10,12,14,16};			for(int i=0;i<values.length-1;i++){			   aux += p.diferenca(values[i],values[i+1]);		   }				System.out.println("Soma da Diferença : " + aux);		System.out.println("Média : " + p.media(values.length,aux));		System.out.println("Soma Média com o último : " + p.somaMedia(p.media(values.length,aux),values[values.length -1]));	}	/*	 public void gerarPrimos (int ate){			int		  count = 0;			   for (int i=1;i<=numero;i++){				//para cada potencial numero primo menor que this.numero				boolean ehPrimo = true;				for (int j=2;j < i;j++){					//de 2 a i-1, testa se i e primo					if (i % j == 0){						ehPrimo = false;					}				}				if (ehPrimo){					System.out.println(count + ": " + i);					count++;				}				if (count == ate) break;		 }	 }*/	 	public int diferenca(int a,int b){		 System.out.println("Diferença entre " + a+ " e " + b + " = " +Math.abs(a - b));		 return Math.abs(a - b);	 }	 public int media(int qtde,int total){		 return Math.abs(total/qtde);	 }	 public int somaMedia(int media,int ultimo){		 return Math.abs(media + ultimo);	 }}

Diferença entre 0 e 2 = 2

Diferença entre 2 e 4 = 2

Diferença entre 4 e 6 = 2

Diferença entre 6 e 8 = 2

Diferença entre 8 e 10 = 2

Diferença entre 10 e 12 = 2

Diferença entre 12 e 14 = 2

Diferença entre 14 e 16 = 2

Soma da Diferença : 16

Média : 1

Soma Média com o último : 17

Era isso o que você queria ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

seria mto mais simples poder explicar ao nosso amigo System como eh a logica, neh?

 

Para calcular a media, você pode fazer de duas maneiras diferentes..

veja a que mais lhe serve..

 

1. Uma variavel vai receber o somatorio das diferenças obtidas pelos numeros..

soma = soma + diferença

e você vai precisar de outra variavel contadora que vai determinar de qtos numeros eh o somatorio, ou seja, qtas vezes você realizou a soma..

contador = contador + 1

 

para obter a media, basta dividir soma por contador..

acho q você ja sabia disso.. naum?!

 

2. você pode guardar todas as diferenças obtidas em um vetor..

para obter a media, faça o mesmo processo anterior: some os valores do vetor e divida pela qtdade de valores armazenados..

 

----

Respondendo a sua pergunta:

Como obter as diferenças?

Se você armazenar em um vetor a sequencia que o usuario entrar, você pode armazenar em um novo vetor as diferenças obtidas, fazendo em um laço a seguinte estrutura:

vetor_resto[i] = vetor[i+1] - vetor[i]

Aff.. isso eh tao simples que nem sei se você esta entendendo, mas eh isso cara...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.