> [1..9]
- ;;
val it : int list = [1; 2; 3; 4; 5; 6; 7; 8; 9]
> [1..9]
- |> List.map(fun i -> [i..9])
- ;;
val it : int list list =
[[1; 2; 3; 4; 5; 6; 7; 8; 9]; [2; 3; 4; 5; 6; 7; 8; 9];
[3; 4; 5; 6; 7; 8; 9]; [4; 5; 6; 7; 8; 9]; [5; 6; 7; 8; 9]; [6; 7; 8; 9];
[7; 8; 9]; [8; 9]; [9]]
> [1..9]
- |> List.map(fun i -> [i..9] |> List.map(fun j -> (i, j)))
- ;;
val it : (int * int) list list =
[[(1, 1); (1, 2); (1, 3); (1, 4); (1, 5); (1, 6); (1, 7); (1, 8); (1, 9)];
[(2, 2); (2, 3); (2, 4); (2, 5); (2, 6); (2, 7); (2, 8); (2, 9)];
[(3, 3); (3, 4); (3, 5); (3, 6); (3, 7); (3, 8); (3, 9)];
[(4, 4); (4, 5); (4, 6); (4, 7); (4, 8); (4, 9)];
[(5, 5); (5, 6); (5, 7); (5, 8); (5, 9)]; [(6, 6); (6, 7); (6, 8); (6, 9)];
[(7, 7); (7, 8); (7, 9)]; [(8, 8); (8, 9)]; [(9, 9)]]
> [1..9]
- |> List.map(fun i -> [i..9] |> List.map(fun j -> (i, j)))
- |> List.collect id
- ;;
val it : (int * int) list =
[(1, 1); (1, 2); (1, 3); (1, 4); (1, 5); (1, 6); (1, 7); (1, 8); (1, 9);
(2, 2); (2, 3); (2, 4); (2, 5); (2, 6); (2, 7); (2, 8); (2, 9); (3, 3);
(3, 4); (3, 5); (3, 6); (3, 7); (3, 8); (3, 9); (4, 4); (4, 5); (4, 6);
(4, 7); (4, 8); (4, 9); (5, 5); (5, 6); (5, 7); (5, 8); (5, 9); (6, 6);
(6, 7); (6, 8); (6, 9); (7, 7); (7, 8); (7, 9); (8, 8); (8, 9); (9, 9)]
> [1..9]
- |> List.map(fun i -> [i..9] |> List.map(fun j -> (i, j)))
- |> List.collect id
- |> List.filter(fun (a, b) -> a % 3 = 0 || b % 3 = 0)
- ;;
val it : (int * int) list =
[(1, 3); (1, 6); (1, 9); (2, 3); (2, 6); (2, 9); (3, 3); (3, 4); (3, 5);
(3, 6); (3, 7); (3, 8); (3, 9); (4, 6); (4, 9); (5, 6); (5, 9); (6, 6);
(6, 7); (6, 8); (6, 9); (7, 9); (8, 9); (9, 9)]
> [1..499]
- |> List.map(fun a -> [a+1..600] |> List.map(fun b -> (a, b)))
- |> List.collect id
- |> List.filter(fun (a, b) -> 1000 * (a + b) - (a * b) = 500000)
- ;;
val it : (int * int) list = [(200, 375)]
> [1..499]
- |> List.map(fun a -> [a+1..600] |> List.map(fun b -> (a, b)))
- |> List.collect id
- |> List.filter(fun (a, b) -> 1000 * (a + b) - (a * b) = 500000)
- |> List.collect(fun (a, b) -> [a; b; 1000 - (a + b)])
- ;;
val it : int list = [200; 375; 425]
> [1..499]
- |> List.map(fun a -> [a+1..600] |> List.map(fun b -> (a, b)))
- |> List.collect id
- |> List.filter(fun (a, b) -> 1000 * (a + b) - (a * b) = 500000)
- |> List.collect(fun (a, b) -> [a; b; 1000 - (a + b)])
- |> List.reduce(*)
- ;;
val it : int = 31875000