Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module DoubleCola
- let names =
- [ "Sheldon"
- "Leonard"
- "Penny"
- "Rajesh"
- "Howard" ]
- let personAt n =
- Seq.initInfinite (pown 2)
- |> Seq.collect (fun size -> names |> Seq.map (fun name -> size, name))
- |> fun xs -> Seq.head xs, Seq.tail xs
- ||> Seq.scan (fun (sum, _) (size, name) -> sum + size, name)
- |> Seq.find (fun (size, _) -> size >= n)
- |> snd
- personAt 1 // Sheldon
- personAt 6 // Sheldon
- personAt 6 // Penny
- personAt 52 // Penny
- personAt 1802 //Penny
- personAt 10010 // Howard
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement