Q-99 is a list of Prolog challenges with solutions in q programming language. This set of problems has been solved in a number of other languages like:
- P-99: Ninety-nine problems in Prolog
- L-99: Ninety-nine problems in Lisp
- Ninety-nine problems in Perl 6
- Ninety-nine problems in OCaml
- H-99: Ninety-nine problems in Haskell
- 99 Scala solutions
Below is a list of my solutions. You can also find them in my github.
Q-99: Working with lists
- 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
Q-99: 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