25 lines
947 B
OCaml
25 lines
947 B
OCaml
let data =
|
|
[ 12; 127; 28; 42; 39; 113; 42; 18; 44; 118; 44; 37; 113; 124; 37; 48;
|
|
127; 36; 29; 31; 125; 139; 131; 115; 105; 132; 104; 123; 35; 113; 122;
|
|
42; 117; 119; 58; 109; 23; 105; 63; 27; 44; 105; 99; 41; 128; 121; 116;
|
|
125; 32; 61; 37; 127; 29; 113; 121; 58; 114; 126; 53; 114; 96; 25; 109;
|
|
7; 31; 141; 46; 13; 27; 43; 117; 116; 27; 7; 68; 40; 31; 115; 124; 42;
|
|
128; 52; 71; 118; 117; 38; 27; 106; 33; 117; 116; 111; 40; 119; 47; 105;
|
|
57; 122; 109; 124; 115; 43; 120; 43; 27; 27; 18; 28; 48; 125; 107; 114;
|
|
34; 133; 45; 120; 30; 127; 31; 116; 146 ]
|
|
|
|
let data =
|
|
List.map (fun d -> (d / 10, d mod 10)) data
|
|
|
|
let keys =
|
|
List.sort compare (unique (List.map fst data))
|
|
|
|
let () =
|
|
List.iter (fun key ->
|
|
Printf.printf " %2d |" key;
|
|
let vs = List.filter (fun (a,_) -> a = key) data in
|
|
let vs = List.sort compare (List.map snd vs) in
|
|
List.iter (Printf.printf " %d") vs;
|
|
print_newline()
|
|
) keys
|