diff options
| author | deadmarshal <adeadmarshal@gmail.com> | 2024-05-17 02:01:27 -0400 |
|---|---|---|
| committer | deadmarshal <adeadmarshal@gmail.com> | 2024-05-17 02:01:27 -0400 |
| commit | 974e4b99fbb075faaf1847a5fb8c29f7f4f37609 (patch) | |
| tree | 1b062949ccaf6df9c443d57608ef018e03db8bb4 /challenge-269/deadmarshal/sml | |
| parent | 71c7bc98dd417eea21d8d731b35edb89bdd153f9 (diff) | |
| download | perlweeklychallenge-club-974e4b99fbb075faaf1847a5fb8c29f7f4f37609.tar.gz perlweeklychallenge-club-974e4b99fbb075faaf1847a5fb8c29f7f4f37609.tar.bz2 perlweeklychallenge-club-974e4b99fbb075faaf1847a5fb8c29f7f4f37609.zip | |
TWC269
Diffstat (limited to 'challenge-269/deadmarshal/sml')
| -rw-r--r-- | challenge-269/deadmarshal/sml/ch1.sml | 8 | ||||
| -rw-r--r-- | challenge-269/deadmarshal/sml/ch2.sml | 24 |
2 files changed, 32 insertions, 0 deletions
diff --git a/challenge-269/deadmarshal/sml/ch1.sml b/challenge-269/deadmarshal/sml/ch1.sml new file mode 100644 index 0000000000..5058571cce --- /dev/null +++ b/challenge-269/deadmarshal/sml/ch1.sml @@ -0,0 +1,8 @@ +fun bitwise_or lst = + List.length(List.filter(fn e => e mod 2 = 0) lst) > 1 + +val _ = + print(Bool.toString(bitwise_or([1,2,3,4,5])) ^ "\n"); + print(Bool.toString(bitwise_or([2,3,8,16])) ^ "\n"); + print(Bool.toString(bitwise_or([1,2,5,7,9])) ^ "\n"); + diff --git a/challenge-269/deadmarshal/sml/ch2.sml b/challenge-269/deadmarshal/sml/ch2.sml new file mode 100644 index 0000000000..9c7da522bb --- /dev/null +++ b/challenge-269/deadmarshal/sml/ch2.sml @@ -0,0 +1,24 @@ +fun distribute_elements lst = + let fun aux [] acc1 acc2 = acc1 @ acc2 + | aux (x::xs) acc1 acc2 = + if (List.hd(List.rev acc1)) > (List.hd(List.rev acc2)) + then aux xs (acc1 @ [x]) acc2 + else aux xs acc1 (acc2 @ [x]) + in + aux (List.tl (List.tl lst)) [List.hd lst] [List.hd(List.tl lst)] + end + +fun print_list(nil) = () + | print_list(x::xs) = ( + print(Int.toString(x)); + print(" "); + print_list(xs); + print("\n") + ); + +val _ = ( + print_list(distribute_elements([2,1,3,4,5])); + print_list(distribute_elements([3,2,4])); + print_list(distribute_elements([5,4,3,8])) +) + |
