Difference between revisions of "H-99: Ninety-Nine Haskell Problems"
(Solved 54 - 58) |
m (fixed link for ocaml's exercise list) |
||
(30 intermediate revisions by 14 users not shown) | |||
Line 2: | Line 2: | ||
These are Haskell translations of [http://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/funcional/L-99_Ninety-Nine_Lisp_Problems.html Ninety-Nine Lisp Problems], |
These are Haskell translations of [http://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/funcional/L-99_Ninety-Nine_Lisp_Problems.html Ninety-Nine Lisp Problems], |
||
− | which are themselves translations of [ |
+ | which are themselves translations of [https://web.archive.org/web/20170324220754/https://sites.google.com/site/prologsite/prolog-problems Ninety-Nine Prolog Problems]. |
− | If you want to work on one of these, put your name in the block so we know someone's working on it. Then, change n in your block to the appropriate problem number, and fill in the <Problem description |
+ | If you want to work on one of these, put your name in the block so we know someone's working on it. Then, change n in your block to the appropriate problem number, and fill in the <Problem description>,<example in Haskell>,<solution in haskell> and <description of implementation> fields. Then be sure to update the status on this page to indicate that we have a solution! |
== The problems == |
== The problems == |
||
− | These problems have been split into |
+ | These problems have been split into 11 parts, for ease of access. |
* [[99_questions/1_to_10|Questions 1 to 10]]: Lists |
* [[99_questions/1_to_10|Questions 1 to 10]]: Lists |
||
Line 19: | Line 19: | ||
* [[99_questions/70B_to_73|Questions 70B to 73]]: Multiway trees |
* [[99_questions/70B_to_73|Questions 70B to 73]]: Multiway trees |
||
* [[99_questions/80_to_89|Questions 80 to 89]]: Graphs |
* [[99_questions/80_to_89|Questions 80 to 89]]: Graphs |
||
− | * [[99_questions/ |
+ | * [[99_questions/90_to_94|Questions 90 to 94]]: Miscellaneous problems |
+ | * [[99_questions/95_to_99|Questions 95 to 99]]: Miscellaneous problems, continued |
||
− | (Though the problems number from 1 to 99, there are some gaps and some additions marked with letters. |
+ | (Though the problems number from 1 to 99, there are some gaps and some additions marked with letters. There are actually only 88 problems.) |
− | There are actually only 88 problems.) |
||
− | == |
+ | == Solutions == |
+ | Known solutions are listed at [[99 questions/Solutions]]. Some of those we have could do with cleaning up or additional solutions. |
||
− | {| class="wikitable" style="text-align:center" |
||
+ | |||
− | |+Scoreboard |
||
+ | == References == |
||
− | |- |
||
+ | |||
− | ! Problem !! Lisp solution? !! Haskell Solution? |
||
+ | * [https://web.archive.org/web/20170324220754/https://sites.google.com/site/prologsite/prolog-problems P-99: Ninety-Nine Prolog Problems] (Wayback Machine; original link now dead) contains Prolog solutions to all the problems. |
||
− | |- |
||
+ | * [http://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/funcional/L-99_Ninety-Nine_Lisp_Problems.html L-99: Ninety-Nine Lisp Problems] contains Lisp solutions to problems 1-11, 14, 15, 17 and 20-28. |
||
− | ! 1 |
||
+ | * [https://www.perlmonks.org/?node_id=590113 99 Problems in Perl 6] has an increasing number of Perl 6 solutions. |
||
− | | Yes || Yes |
||
+ | * [https://www.ocaml.org/exercises 99 Problems in OCaml] contains Ocaml solutions to many problems. |
||
− | |- |
||
− | ! 2 |
||
− | | Yes || Yes |
||
− | |- |
||
− | ! 3 |
||
− | | Yes || Yes |
||
− | |- |
||
− | ! 4 |
||
− | | Yes || Yes |
||
− | |- |
||
− | ! 5 |
||
− | | Yes || Yes |
||
− | |- |
||
− | ! 6 |
||
− | | Yes || Yes |
||
− | |- |
||
− | ! 7 |
||
− | | Yes || Yes |
||
− | |- |
||
− | ! 8 |
||
− | | Yes || Yes |
||
− | |- |
||
− | ! 9 |
||
− | | Yes || Yes |
||
− | |- |
||
− | ! 10 |
||
− | | Yes || Yes |
||
− | |- |
||
− | ! 11 |
||
− | | Yes || Yes |
||
− | |- |
||
− | ! 12 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 13 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 14 |
||
− | | Yes || Yes |
||
− | |- |
||
− | ! 15 |
||
− | | Yes || Yes |
||
− | |- |
||
− | ! 16 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 17 |
||
− | | Yes || Yes |
||
− | |- |
||
− | ! 18 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 19 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 20 |
||
− | | Yes || Yes |
||
− | |- |
||
− | ! 21 |
||
− | | Yes || Yes |
||
− | |- |
||
− | ! 22 |
||
− | | Yes || Yes |
||
− | |- |
||
− | ! 23 |
||
− | | Yes || Yes |
||
− | |- |
||
− | ! 24 |
||
− | | Yes || Yes |
||
− | |- |
||
− | ! 25 |
||
− | | Yes || Yes |
||
− | |- |
||
− | ! 26 |
||
− | | Yes || Yes |
||
− | |- |
||
− | ! 27 |
||
− | | Yes || Yes |
||
− | |- |
||
− | ! 28 |
||
− | | Yes || Yes |
||
− | |- |
||
− | ! 31 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 32 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 33 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 34 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 35 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 36 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 37 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 38 |
||
− | | n/a || n/a |
||
− | |- |
||
− | ! 39 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 40 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 41 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 46 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 47 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 48 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 49 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 50 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 54A |
||
− | | No || n/a |
||
− | |- |
||
− | ! 55 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 56 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 57 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 58 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 59 |
||
− | | No || No |
||
− | |- |
||
− | ! 60 |
||
− | | No || No |
||
− | |- |
||
− | ! 61 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 61A |
||
− | | No || Yes |
||
− | |- |
||
− | ! 62 |
||
− | | No || No |
||
− | |- |
||
− | ! 62B |
||
− | | No || No |
||
− | |- |
||
− | ! 63 |
||
− | | No || No |
||
− | |- |
||
− | ! 64 |
||
− | | No || No |
||
− | |- |
||
− | ! 65 |
||
− | | No || No |
||
− | |- |
||
− | ! 66 |
||
− | | No || No |
||
− | |- |
||
− | ! 67 |
||
− | | No || No |
||
− | |- |
||
− | ! 68 |
||
− | | No || No |
||
− | |- |
||
− | ! 69 |
||
− | | No || No |
||
− | |- |
||
− | ! 70B |
||
− | | No || n/a |
||
− | |- |
||
− | ! 70C |
||
− | | No || Yes |
||
− | |- |
||
− | ! 70 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 71 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 72 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 73 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 80 |
||
− | | No || No |
||
− | |- |
||
− | ! 81 |
||
− | | No || No |
||
− | |- |
||
− | ! 82 |
||
− | | No || No |
||
− | |- |
||
− | ! 83 |
||
− | | No || No |
||
− | |- |
||
− | ! 84 |
||
− | | No || No |
||
− | |- |
||
− | ! 85 |
||
− | | No || No |
||
− | |- |
||
− | ! 86 |
||
− | | No || No |
||
− | |- |
||
− | ! 87 |
||
− | | No || No |
||
− | |- |
||
− | ! 88 |
||
− | | No || No |
||
− | |- |
||
− | ! 89 |
||
− | | No || No |
||
− | |- |
||
− | ! 90 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 91 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 92 |
||
− | | No || No |
||
− | |- |
||
− | ! 93 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 94 |
||
− | | No || No |
||
− | |- |
||
− | ! 95 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 96 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 97 |
||
− | | No || Yes |
||
− | |- |
||
− | ! 98 |
||
− | | No || No |
||
− | |- |
||
− | ! 99 |
||
− | | No || No |
||
− | |} |
||
[[Category:Tutorials]] |
[[Category:Tutorials]] |
||
+ | [[Category:Code]] |
Latest revision as of 19:49, 4 January 2024
These are Haskell translations of Ninety-Nine Lisp Problems,
which are themselves translations of Ninety-Nine Prolog Problems.
If you want to work on one of these, put your name in the block so we know someone's working on it. Then, change n in your block to the appropriate problem number, and fill in the <Problem description>,<example in Haskell>,<solution in haskell> and <description of implementation> fields. Then be sure to update the status on this page to indicate that we have a solution!
The problems
These problems have been split into 11 parts, for ease of access.
- Questions 1 to 10: Lists
- Questions 11 to 20: Lists, continued
- Questions 21 to 28: Lists again
- Questions 31 to 41: Arithmetic
- Questions 46 to 50: Logic and codes
- Questions 54A to 60: Binary trees
- Questions 61 to 69: Binary trees, continued
- Questions 70B to 73: Multiway trees
- Questions 80 to 89: Graphs
- Questions 90 to 94: Miscellaneous problems
- Questions 95 to 99: Miscellaneous problems, continued
(Though the problems number from 1 to 99, there are some gaps and some additions marked with letters. There are actually only 88 problems.)
Solutions
Known solutions are listed at 99 questions/Solutions. Some of those we have could do with cleaning up or additional solutions.
References
- P-99: Ninety-Nine Prolog Problems (Wayback Machine; original link now dead) contains Prolog solutions to all the problems.
- L-99: Ninety-Nine Lisp Problems contains Lisp solutions to problems 1-11, 14, 15, 17 and 20-28.
- 99 Problems in Perl 6 has an increasing number of Perl 6 solutions.
- 99 Problems in OCaml contains Ocaml solutions to many problems.