Les deux manières de programmer la factorielle






1   Le programme récursif

C'est le plus facile, il n'y a qu'à ècrire la définition mathématique, java fait le reste:

public class Fact {

    public static int fact (int n) {
        if (n==0) return(1);
        else return(n*fact(n-1));
    }

    public static void main (String[] args) {
        System.out.print(fact(6));
        System.out.print("\n");
    }
}

2   Le programme itératif

C'est à peine plus dur; on se donne une variable dans laquelle on accumule le résultat des multiplications jusqu'au résultat final:

public class Fact {

    public static int fact (int n) {
        int f = 1;
        for (int i=1; i<=n; i++)
        f=f*i;
        return(f);
    }

    public static void main (String[] args) {
        System.out.print(fact(6));
        System.out.print("\n");
    }
}

This document was translated from LATEX by HEVEA.