Exercice : Fibonacci

Ecrire une fonction qui calcule les valeurs de la série de Fibonacci, définie par :
– U0 = 0
– U1 = 1
– Un = Un−1 + Un−2
Par exemple :
U2 = U1 + U0 = 1
U3 = U2 + U1 = 2
U4 = U3 + U2 = 3

Ecrivez deux versions de cette fonction :
- une sous forme itérative
- et sous forme récursive.
Laquelle des deux variantes est préférable ?

Vous pouvez utiliser le code suivant :
public class Fibonacci{

    public static void main(String[] args){
        System.out.println("fibo1 : " + fibo1(Integer.valueOf(args[0])));
        System.out.println("fibo2 : " + fibo2(Integer.valueOf(args[0])));
    }
    
    /** 
        Implémentation avec itérations
    **/
    static int fibo1(int n){
        // à compléter
    }
    
    /** 
        Implémentation récursive
    **/
    static int fibo2(int n){
        // à compléter
    }
}

Par exemple fibo1(10) = fibo2(10) = 55.