• [^] # Re: rafale de questions à propos des langages fonctionnels

    Posté par . En réponse à la dépêche Le concours de programmation ICFP 2001 est lancé!. Évalué à 0.


    la solution récursive pour le 3) est en fait bourrine car factorielle n'est pas récurtive terminale donc ça va vite mener à un débordement de pile : (j'ai remplaçé * par + car facterielle de 100000 ça tient pas en 31 bits)



    Objective Caml version 2.01


    # let rec f = function 0 -> 0 | n -> n + f (n - 1) ;;
    val f : int -> int = <fun>
    # f 100000 ;;
    Stack overflow during evaluation (looping recursion?).
    # let f' n = let s = ref 0 in for i = 1 to n do s := i + !s done ; !s ;;
    val f' : int -> int = <fun>
    # f' 100000 ;;
    - : int = 705082704