O que esta dando errado nesse codigo de Fibonacci

2 respostas
A

Galera to tentando fazer a sequecia de Fibonacci para que imprima os 50 primeiros valores de um array e no final ele ta trazendo numeros negativos. o que esta errado nesse codigo??????
Deixo para os mestres

public class Fibonacci {
	public static void main(String args[]) {
		int[] f = new int[50];
		f[0] = 0;
		f[1] = 1;

		int x;

		System.out.print(f[0] + "\n" + f[1] + "\n");
		for (x = 2; x <= 49; x++) {
			f[x] = f[x - 1] + f[x - 2];
			System.out.println(f[x]);
		}
	}
}

2 Respostas

N

Não pode retornar o sinal de negativo? É este o problema?

f[x] = Math.abs(f[x - 1] + f[x - 2]);
R

Uma variavel do tipo int nao possui a quantidade necessaria de bytes para colocar numeros tao grandes quanto os que sao necessarios. Se eu nao me engano um int tem soh 2 bytes.
Declare sua variavel f como sendo um array de double:

double[] f = new double[50];

flw

Criado 14 de setembro de 2007
Ultima resposta 14 de set. de 2007
Respostas 2
Participantes 3