System 0 Denunciar post Postado Junho 26, 2006 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;10Temos: 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
dsfextreme 0 Denunciar post Postado Junho 27, 2006 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;10Temos: 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
ricci ottadnot 4 Denunciar post Postado Junho 27, 2006 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