[java] Successione di Fibonacci

Titania1
Ciao a tutti.

Ho un esercizio che chiede di scrivere un programma in Java che calcoli i primi $n$ numeri della successione di Fibonacci in modo ricorsivo.
Ho scritto questo:
class Fibonacci{
	public static void main(String[] args){
	System.out.print("A che numero devo fermarmi? ");
	int stop = SavitchIn.readLineInt();
	System.out.println("I primi " + stop + " numeri della sequenza di fibonacci sono: ");
	int n = 0;
		do{
		System.out.println("fib(" + n + ") = " + fib(n));
		n++;	
		} while(n <= stop);
	}
	static int fib(int n){
	if(n < 1) 	return 0;
	if(n < 2) 	return 1;
	else 		return fib(n - 1) + fib(n - 2);
	}
}

Ora, ho notato che il mio codice funziona solo per $n$ piuttosto piccoli, nel senso che dal 47 in poi il programma stampa dei numeri strani (negativi, per esempio).
Cosa vuol dire? E' un problema di codice o di memoria?

Risposte
xsl
Il numero generato è troppo grande, quindi ti conviene usare long oppure double.

Titania1
Potevo arrivarci, in effetti...
Grazie! :D

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.