[code] public int fib3(int n) throws Exception{
int i =1;
int j=0;
int k=0;
int h=1;
int t;
while(n>0){
if (n%2=1){
t=j*h;
j=i*h+j*k+t;
i=i*k+t;
}
t=h*h;
h=2*k*h+t;
k=k*k+t;
n=n/2;
}
return j;
} [/code]
tah dando erro na linha do if alguem sabe pq?
nossa… mas vc tah tentando fazer uma função de fibonnaci ???
nao entendi o pq de tantas variaveis
Você está atribuindo o valor 1 a uma expressão, ou seja, usou só =, para compara valores primitivos use ==.
if(n%2=1)
if((n%2)==1))
Estranho esta sua forma de calcular o termo.
Dê uma olhada aqui pra você entender melhor a forma de cálculo.
http://pt.wikipedia.org/wiki/Número_de_Fibonacci.
E que erro está ocorrendo?
você quer ser ajudado? então… poste a lógica do seu projeto para que possamos entender a forma com a qual você pretende resolver o problema.
Vlw Alberes
Não acredito que eu dei esse mole hehehe
pessoal o professor q passou esse algoritmo pra calcular o fibonnaci e mandou implementar em uma linguagem
vlw pessoal
nossa… o professor de programação passou esse codigo???
a qualidade do ensino no Brasil está caindo…
ou era professor de geografia…
public int fib(int n){
if(n==0)return 0;
if(n==1)return 1;
return fib(n-1)+fib(n-2);
}
ou se vc gosta de economizar espaço
public int fib2(int n){
return n==0?n:n==1?n:(fib2(n-1)+fib2(n-2));
}
mostra lá pra ele, fala q normalmente é assim que é feito… rs…
Hahaha
na verdade e inteligencia artificial
ele passou 3 maneiras diferentes de calcular o fibonnaci
e vem k vc sabe me dizer se eu consigo calcular o tempo de execução de um metodo?
[quote=leandrognaf]Hahaha
na verdade e inteligencia artificial
ele passou 3 maneiras diferentes de calcular o fibonnaci
e vem k vc sabe me dizer se eu consigo calcular o tempo de execução de um metodo?[/quote]
o mais rapido e pratico é vc fazer ± isso:
[code]Date antes = new Date();
//executaMetodo();
Date depois = new Date();
//tempo em milesimos
long ms = depois.getTime()-antes.getTime();[/code]
não é preciso, mas para processos um pouco demorados dah pra ter uma ideia de tempo gasto…