IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Index du forum

Recherche:

Type: Messages; Utilisateur: LLB

Recherche: Recherche effectuée en 0,01 secondes.

  1. Votes reçus
    +0 -0
    Réponses
    10
    Affichages
    4 581

    OK, en ajoutant la récursion : let rec hamming...

    OK, en ajoutant la récursion :

    let rec hamming = LL.consDelayed 1I (fun() ->
    let l2 = LL.map ((*)2I) hamming
    let l3 = LL.map ((*)3I) hamming
    let l5 = LL.map ((*)5I) hamming
    ...
  2. Votes reçus
    +0 -0
    Réponses
    10
    Affichages
    4 581

    Dans le premier code, le map sert justement à...

    Dans le premier code, le map sert justement à obtenir les multiples.


    > hamming 50 |> Seq.toList;;
    val it : int list =
    [1; 2; 3; 4; 5; 6; 8; 9; 10; 12; 14; 15; 16; 18; 20; 21; 22; 24; 25; 26;...
  3. Votes reçus
    +0 -0
    Réponses
    10
    Affichages
    4 581

    Pour éviter le stackoverflow avec les LazyList,...

    Pour éviter le stackoverflow avec les LazyList, il faut utiliser consDelayed de temps en temps.

    Le code complet :

    module LL = LazyList
    let rec merge x y =
    match x, y with
    |...
  4. Votes reçus
    +0 -0
    Réponses
    10
    Affichages
    4 581

    C'est un code vraiment pensé en Haskell. Si tu...

    C'est un code vraiment pensé en Haskell.

    Si tu peux laisser la paresse de côté et calculer les nombres jusqu'à n, tu peux faire ça :

    let hamming n =
    [ yield 1
    yield! List.map ((*)2)...
  5. Votes reçus
    +0 -0
    Réponses
    10
    Affichages
    4 581

    Le type de ta fonction merge est : val merge :...

    Le type de ta fonction merge est :

    val merge :
    seq<'a> -> seq<'a> -> seq<'a> when 'a : comparison and 'a :> seq<'a>

    Cela indique que les éléments de ton seq doivent être eux-mêmes des seq....
Affichage des résultats 1 à 5 sur 5