You are on page 1of 1

public class Fibonaccicci {

public int fibI(int n){


int resultat = 0;
/*
* Si la entrada (indice) es igual a 0, retornara 1, el primer v
alor de fibonacci
*/
if(n==0){
resultat = 1;
}
int aux = 1;
int aux2 = 0;
int comptador = 1;
/*
* Aquest while es correspon amb fibonacci tenint en compte comp
tador com a index
* amb comptador a 1, sera la posicio 1.
* Asigna a resultat la suma d'aux i aux2, els que se suposa que
son els ultims dos nombres
* i avana asignant els valors que els hi corresponen a aux i aux
2
*/
while (comptador<=n) {
resultat = aux + aux2;
aux2 = aux;
aux = resultat;
comptador++;
}
return resultat;
}
/*
* Si la entrada es igual a 0 o 1, sabem que el resultat sera 1
* sino, entra a l'if i asigna a resultat la suma de fibR(n-1)+fibR(n-2)
*
* El problema es descomposa fins arribar al cas simple, quan el resulta
t es igual a 1.
* Bsicament el que fa es sumar d'un en un.
* CAS D'EXEMPLE: fibR(3);
*
* (el problema es descomposa aixi)
* resultat = fibR(2)
+
fibR(1)
*
fibR(1) + fibR(2)
*/
public int fibR(int n){
int resultat = 1;
if(n>1){
resultat = fibR(n-1)+fibR(n-2);
}
return resultat;
}
}

You might also like