Skip to content

rodnaph/99-clojure-problems

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lisp-problems

Attempt at solving 99 Lisp problems in Clojure.

Lists: Problems 1-28

  • P01 (*) Find the last box of a list.
  • p02 (*) Find the last but one box of a list.
  • P03 (*) Find the K'th element of a list.
  • P04 (*) Find the number of elements of a list.
  • P05 (*) Reverse a list.
  • P06 (*) Find out whether a list is a palindrome.
  • P07 (**) Flatten a nested list structure.
  • P08 (**) Eliminate consecutive duplicates of list elements.
  • P09 (**) Pack consecutive duplicates of list elements into sublists.
  • P10 (*) Run-length encoding of a list.
  • P11 (*) Modified run-length encoding.
  • P12 (**) Decode a run-length encoded list.
  • P13 (**) Run-length encoding of a list (direct solution).
  • P14 (*) Duplicate the elements of a list.
  • P15 (**) Replicate the elements of a list a given number of times.
  • P16 (**) Drop every N'th element from a list.
  • P17 (*) Split a list into two parts; the length of the first part is given.
  • P18 (**) Extract a slice from a list.
  • P19 (**) Rotate a list N places to the left.
  • P20 (*) Remove the K'th element from a list.
  • P21 (*) Insert an element at a given position into a list.
  • P22 (*) Create a list containing all integers within a given range.
  • P23 (**) Extract a given number of randomly selected elements from a list.
  • P24 (*) Lotto: Draw N different random numbers from the set 1..M.
  • P25 (*) Generate a random permutation of the elements of a list.
  • P26 (**) Generate the combinations of K distinct objects chosen from the N elements of a list
  • P27 (**) Group the elements of a set into disjoint subsets.
  • P28 (**) Sorting a list of lists according to length of sublists

Arithmetic

  • P31 (**) Determine whether a given integer number is prime.
  • P32 (**) Determine the greatest common divisor of two positive integer numbers.
  • P33 (*) Determine whether two positive integer numbers are coprime.
  • P34 (**) Calculate Euler's totient function phi(m).
  • P35 (**) Determine the prime factors of a given positive integer.
  • P36 (**) Determine the prime factors of a given positive integer (2).
  • P37 (**) Calculate Euler's totient function phi(m) (improved).
  • P38 (*) Compare the two methods of calculating Euler's totient function.
  • P39 (*) A list of prime numbers.
  • P40 (**) Goldbach's conjecture.
  • P41 (**) A list of Goldbach compositions.

Logic and Codes

  • P46 (**) Truth tables for logical expressions.
  • P47 (*) Truth tables for logical expressions (2).
  • P48 (**) Truth tables for logical expressions (3).
  • P49 (**) Gray code.
  • P50 (***) Huffman code.

License

Distributed under the Eclipse Public License, the same as Clojure.

About

Attempt at solving 99 Lisp problems in Clojure

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published