ninetynine-1.3.0: Ninety-Nine Haskell Problems
Ninety-Nine Haskell Problems. These are programming exercises for practice with Haskell.
See the Problems module for the problems. To try your hand at solving the problems, replace the aliases in the problem modules with your own implementations.
Based on the Ninety-Nine Haskell problems on HaskellWiki. Unlike the set of problems on HaskellWiki, these are actually 99 Haskell problems. For more information, see https://github.com/chungyc/ninetynine.
- Problems Ninety-Nine Haskell Problems
- Problems.BinaryTrees Supporting definitions for binary tree problems
- Problems.BinaryTrees.SVG Render binary tree with layout to SVG
- Problems.Crosswords Supporting definitions for crossword puzzles
- Problems.Graphs Supporting definitions for graph problems
- Problems.Lists Supporting definitions for list problems
- Problems.Logic Supporting definitions for logic and code problems
- Problems.Monads Supporting definitions for monad problems
- Problems.MultiwayTrees Supporting definitions for multiway tree problems
- Problems.P01 Last element of a list
- Problems.P02 Penultimate element of a list
- Problems.P03 Indexed element in a list
- Problems.P04 Length of a list
- Problems.P05 Reverse a list
- Problems.P06 Palindromes
- Problems.P07 Flatten a nested list structure
- Problems.P08 Eliminate duplicate elements in a list
- Problems.P09 Pack duplicates in a list
- Problems.P10 Run-length encoding of a list
- Problems.P11 Modified run-length encoding
- Problems.P12 Decode a run-length encoded list
- Problems.P13 Direct run-length encoding of a list
- Problems.P14 Duplicate elements in a list
- Problems.P15 Replicate elements of a list
- Problems.P16 Drop elements in a list
- Problems.P17 Split a list
- Problems.P18 Extract a slice from a list
- Problems.P19 Rotate a list
- Problems.P20 Remove element from a list
- Problems.P21 Insert element into a list
- Problems.P22 Range of integers
- Problems.P23 Select random elements from a list
- Problems.P24 Draw random numbers
- Problems.P25 Random permutation of a list
- Problems.P26 Combinations
- Problems.P27 Group into disjoint subsets
- Problems.P28 Sorting a list of lists according to length of sublists
- Problems.P29 Fibonacci numbers
- Problems.P30 Fibonacci numbers with matrix exponentiation
- Problems.P31 Primality checking
- Problems.P32 Greatest common divisor
- Problems.P33 Coprimality
- Problems.P34 Euler's totient function
- Problems.P35 List of prime factors
- Problems.P36 List of prime factors and their multiplicities
- Problems.P37 Euler's totient function with Euler's product formula
- Problems.P38 Highly totient numbers
- Problems.P39 List of prime numbers
- Problems.P40 Goldbach's conjecture
- Problems.P41 List of Goldbach pairs
- Problems.P42 Modular multiplicative inverse
- Problems.P43 Gaussian integer divisibility
- Problems.P44 Gaussian primes
- Problems.P45 Gaussian primes using the two-square theorem
- Problems.P46 Truth tables for logical expressions
- Problems.P47 Universal logic gates
- Problems.P48 Truth tables for \(n\)-ary boolean functions
- Problems.P49 Gray codes
- Problems.P50 Huffman codes
- Problems.P51 Error correction codes
- Problems.P52 Conjunctive normal form
- Problems.P53 Resolution rule
- Problems.P54 Binary trees
- Problems.P55 Construct completely balanced binary trees
- Problems.P56 Symmetric binary trees
- Problems.P57 Binary search trees
- Problems.P58 Symmetric and completely balanced binary trees
- Problems.P59 Construct height-balanced binary trees
- Problems.P60 Height-balanced binary trees with given number of nodes
- Problems.P61 Collect nodes of a binary tree
- Problems.P62 Collect nodes at a given level
- Problems.P63 Construct a complete binary tree
- Problems.P64 Binary tree layout; in-order
- Problems.P65 Binary tree layout; constant distance at each level
- Problems.P66 Binary tree layout; compact
- Problems.P67 A string representation of binary trees
- Problems.P68 In-order and pre-order sequences of binary trees
- Problems.P69 Dotstring representation of binary trees
- Problems.P70 Tree construction from a node string
- Problems.P71 Internal path length of a tree
- Problems.P72 Post-order sequence of a tree
- Problems.P73 Tree representation with s-expressions
- Problems.P74 IO monad without do notation
- Problems.P75 Maybe monad
- Problems.P76 Either monad
- Problems.P77 List monad
- Problems.P78 Collatz conjecture
- Problems.P79 Postfix notation
- Problems.P80 Converting between graph representations
- Problems.P81 Paths between vertexes
- Problems.P82 Cycles with a given vertex
- Problems.P83 Construct spanning trees
- Problems.P84 Construct minimum spanning tree
- Problems.P85 Graph isomorphism
- Problems.P86 Graph coloring
- Problems.P87 Depth-first graph traversal
- Problems.P88 Connected components
- Problems.P89 Bipartite graphs
- Problems.P90 Find all solutions to the \(n\) queens problem
- Problems.P91 Knight's tour
- Problems.P92 Graceful tree labeling
- Problems.P93 An arithmetic puzzle
- Problems.P94 Regular graphs
- Problems.P94.Examples Examples of regular graphs
- Problems.P95 English number words
- Problems.P96 Syntax checking
- Problems.P97 Sudoku
- Problems.P98 Nonograms
- Problems.P99 Crossword puzzles
- Problems.Tutorial Tutorial for solving problems
- Problems.BinaryTrees Supporting definitions for binary tree problems
- Solutions Solutions to Ninety-Nine Haskell Problems
- Solutions.Arithmetic Support functions for arithmetic problems.
- Solutions.P01 Last element of a list
- Solutions.P02 Penultimate element of a list
- Solutions.P03 Indexed element in a list
- Solutions.P04 Length of a list
- Solutions.P05 Reverse a list
- Solutions.P06 Palindromes
- Solutions.P07 Flatten a nested list structure
- Solutions.P08 Eliminate duplicate elements in a list
- Solutions.P09 Pack duplicates in a list
- Solutions.P10 Run-length encoding of a list
- Solutions.P11 Modified run-length encoding
- Solutions.P12 Decode a run-length encoded list
- Solutions.P13 Direct run-length encoding of a list
- Solutions.P14 Duplicate elements in a list
- Solutions.P15 Replicate elements of a list
- Solutions.P16 Drop elements in a list
- Solutions.P17 Split a list
- Solutions.P18 Extract a slice from a list
- Solutions.P19 Rotate a list
- Solutions.P20 Remove element from a list
- Solutions.P21 Insert element into a list
- Solutions.P22 Range of integers
- Solutions.P23 Select random elements from a list
- Solutions.P24 Draw random numbers
- Solutions.P25 Random permutation of a list
- Solutions.P26 Combinations
- Solutions.P27 Group into disjoint subsets
- Solutions.P28 Sorting a list of lists according to length of sublists
- Solutions.P29 Fibonacci numbers
- Solutions.P30 Fibonacci numbers with matrix exponentiation
- Solutions.P31 Primality checking
- Solutions.P32 Greatest common divisor
- Solutions.P33 Coprimality
- Solutions.P34 Euler's totient function
- Solutions.P35 List of prime factors
- Solutions.P36 List of prime factors and their multiplicities
- Solutions.P37 Euler's totient function with Euler's product formula
- Solutions.P38 Highly totient numbers
- Solutions.P39 List of prime numbers
- Solutions.P40 Goldbach's conjecture
- Solutions.P41 List of Goldbach pairs
- Solutions.P42 Modular multiplicative inverse
- Solutions.P43 Gaussian integer divisibility
- Solutions.P44 Gaussian primes
- Solutions.P45 Gaussian primes using the two-square theorem
- Solutions.P46 Truth tables for logical expressions
- Solutions.P47 Universal logic gates
- Solutions.P48 Truth tables for \(n\)-ary boolean functions
- Solutions.P49 Gray codes
- Solutions.P50 Huffman codes
- Solutions.P51 Error correction codes
- Solutions.P52 Conjunctive normal form
- Solutions.P53 Resolution rule
- Solutions.P54 Binary trees
- Solutions.P55 Construct completely balanced binary trees
- Solutions.P56 Symmetric binary trees
- Solutions.P57 Binary search trees
- Solutions.P58 Symmetric and completely balanced binary trees
- Solutions.P59 Construct height-balanced binary trees
- Solutions.P60 Height-balanced binary trees with given number of nodes
- Solutions.P61 Collect nodes of a binary tree
- Solutions.P62 Collect nodes at a given level
- Solutions.P63 Construct a complete binary tree
- Solutions.P64 Binary tree layout; in-order
- Solutions.P65 Binary tree layout; constant distance at each level
- Solutions.P66 Binary tree layout; compact
- Solutions.P67 A string representation of binary trees
- Solutions.P68 In-order and pre-order sequences of binary trees
- Solutions.P69 Dotstring representation of binary trees
- Solutions.P70 Tree construction from a node string
- Solutions.P71 Internal path length of a tree
- Solutions.P72 Post-order sequence of a tree
- Solutions.P73 Tree representation with s-expressions
- Solutions.P74 IO monad without do notation
- Solutions.P75 Maybe monad
- Solutions.P76 Either monad
- Solutions.P77 List monad
- Solutions.P78 Collatz conjecture
- Solutions.P79 Postfix notation
- Solutions.P80 Converting between graph representations
- Solutions.P81 Paths between vertexes
- Solutions.P82 Cycles with a given vertex
- Solutions.P83 Construct spanning trees
- Solutions.P84 Construct minimum spanning tree
- Solutions.P85 Graph isomorphism
- Solutions.P86 Graph coloring
- Solutions.P87 Depth-first graph traversal
- Solutions.P88 Connected components
- Solutions.P89 Bipartite graphs
- Solutions.P90 Find all solutions to the \(n\) queens problem
- Solutions.P91 Knight's tour
- Solutions.P92 Graceful tree labeling
- Solutions.P93 An arithmetic puzzle
- Solutions.P94 Regular graphs
- Solutions.P95 English number words
- Solutions.P96 Syntax checking
- Solutions.P97 Sudoku
- Solutions.P98 Nonograms
- Solutions.P99 Crossword puzzles
- Solutions.Tutorial Tutorial for solving problems