Pessoal é o segundo exercicio de um site que estou estudando… Ele agora pede para fazer uma serei de fibonacci e que some os numeros e que não passe de 1 milhão. O execicio é esse:
ach new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …
Find the sum of all the even-valued terms in the sequence which do not exceed one million.
Então eu fiz este codigo:
public class Fibonacci {
public static long fib(int n){
if(n==0) return 0;
else
if(n==1) return 1;
else
return fib(n-1)+fib(n-2);
}
public static void main(String args[]){
Fibonacci f = new Fibonacci();
long n = 0, soma =0;
for(int i=2; i<=29; i++){
n = f.fib(i);
soma += n;
System.out.println(i + ":" + f.fib(i) +" "+ soma);
}
}
}
ela da um numero muito proximo de um milhao mas não sei se esta correto? existe por acaso uma deficiencia em java com numeros grandes?
porque eu não consigo achar o numero certo…
grato.
