all tasks

This commit is contained in:
Ingy döt Net 2013-04-11 01:07:29 -07:00
parent b83f433714
commit 68f8f3e56b
14735 changed files with 178959 additions and 0 deletions

View file

@ -0,0 +1,9 @@
let unique li =
let rec aux acc = function
| [] -> (List.rev acc)
| x::xs ->
if List.mem x acc
then aux acc xs
else aux (x::acc) xs
in
aux [] li

View file

@ -0,0 +1,28 @@
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 ->
let a = d / 10 in
let b = d mod 10 in
(a, b)
) 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

View file

@ -0,0 +1,18 @@
let () =
print_endline "\
\\documentclass{report}
\\usepackage{fullpage}
\\begin{document}
\\begin{tabular}{ r | *{120}{c} }";
List.iter (fun key ->
Printf.printf " %d" 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_endline " \\\\"
) keys;
print_endline "\
\\end{tabular}
\\end{document}"