Prolog
Prolog is a logic programming language. It is programmed declaratively, using ''resolution'' and ''backtracking'' to confirm propositions based on declared facts and rules.
Tasks
- 100 doors
- 2048
- 24 game
- 24 game/Solve
- 4-rings or 4-squares puzzle
- A+B
- ABC Problem
- AKS test for primes
- Abundant, deficient and perfect number classifications
- Accumulator factory
- Ackermann function
- Align columns
- Almost prime
- Amicable pairs
- Anagrams
- Anagrams/Deranged anagrams
- Animate a pendulum
- Animation
- Anonymous recursion
- Anti-primes
- Apply a callback to an array
- Arbitrary-precision integers (included)
- Arithmetic evaluation
- Arithmetic-geometric mean
- Arithmetic/Integer
- Array concatenation
- Array length
- Arrays
- Assertions
- Associative array/Creation
- Associative array/Iteration
- Averages/Arithmetic mean
- Averages/Median
- Babbage problem
- Balanced brackets
- Balanced ternary
- Base64 decode data
- Benford's law
- Best shuffle
- Binary digits
- Binary search
- Binary strings
- Box the compass
- Bresenham's Line Algorithm
- Bulls and cows
- Bulls and cows/Player
- CSV data manipulation
- CSV to HTML translation
- Caesar cipher
- Calendar
- Call a foreign-language function
- Case-sensitivity of identifiers
- Catalan numbers
- Catamorphism
- Character codes
- Chat server
- Check that file exists
- Church Numerals
- Closest-pair problem
- Closures/Value capture
- Collections
- Combinations
- Comma quibbling
- Comments
- Compound data type
- Concurrent computing
- Conditional structures
- Constrained random points on a circle
- Continued fraction
- Convert seconds to compound duration
- Copy a string
- Count in octal
- Count occurrences of a substring
- Cramer's rule
- Create an HTML table
- Currying
- Date format
- Day of the week
- Determine if a string is numeric
- Dijkstra's algorithm
- Dinesman's multiple-dwelling problem
- Dining philosophers
- Dot product
- Dragon curve
- Draw a cuboid
- Dutch national flag problem
- Elementary cellular automaton
- Empty string
- Entropy
- Environment variables
- Equilibrium index
- Ethiopian multiplication
- Euler's sum of powers conjecture
- Even or odd
- Evolutionary algorithm
- Exceptions
- Execute Brainfuck
- Execute a Markov algorithm
- Execute a system command
- Exponentiation operator
- Factorial
- Factors of an integer
- Farey sequence
- Fast Fourier transform
- Fibonacci sequence
- Filter
- Finite state machine
- First-class functions
- Five weekends
- FizzBuzz
- Flatten a list
- Floyd's triangle
- Floyd-Warshall algorithm
- Four bit adder
- Fractal tree
- Function composition
- Function definition
- GUI component interaction
- GUI enabling/disabling of controls
- Galton box animation
- Generate lower case ASCII alphabet
- Generic swap
- Gray code
- Greatest common divisor
- Greatest element of a list
- Greatest subsequential sum
- Guess the number
- Guess the number/With feedback
- Guess the number/With feedback (player)
- HTTP
- Hailstone sequence
- Hamming numbers
- Happy numbers
- Harshad or Niven series
- Hash from two arrays
- Hash join
- Hello world!
- Hello world/Graphical
- Hello world/Text
- Hello world/Web server
- Higher-order functions
- Hofstadter Figure-Figure sequences
- Honeycombs
- Horner's rule for polynomial evaluation
- Huffman coding
- Hunt The Wumpus
- I.Q. Puzzle
- Include a file
- Increment a numerical string
- Input/Output for Lines of Text
- Integer sequence
- Interactive programming
- Inverted syntax
- JSON
- Kaprekar numbers
- Knapsack problem/0-1
- Knapsack problem/Continuous
- Knapsack problem/Unbounded
- Knight's tour
- Langton's ant
- Largest int from concatenated ints
- Largest number divisible by its digits
- Last letter-first letter
- Leap year
- Least common multiple
- Letter frequency
- Levenshtein distance
- List comprehensions
- Literals/String
- Logical operations
- Long multiplication
- Longest Common Substring
- Longest common subsequence
- Longest increasing subsequence
- Look-and-say sequence
- Loop over multiple arrays simultaneously
- Loops/Do-while
- Loops/Downward for
- Loops/For
- Loops/For with a specified step
- Loops/Foreach
- Loops/Infinite
- Loops/N plus one half
- Loops/While
- Loops/with multiple ranges
- Lucas-Lehmer test
- Mandelbrot set
- Mastermind
- Matrix multiplication
- Matrix transposition
- Maximum triangle path sum
- Maze generation
- Maze solving
- Menu
- Mersenne primes
- Metaprogramming
- Middle three digits
- Miller–Rabin primality test
- Minesweeper game
- Modular arithmetic
- Multisplit
- Munching squares
- Mutual recursion
- N'th
- N-queens problem
- Named parameters
- Non-continuous subsequences
- Nonogram solver
- Number names
- Odd word problem
- One-dimensional cellular automata
- Ordered words
- Palindrome detection
- Pangram checker
- Parallel calculations
- Parse command-line arguments
- Parsing/RPN calculator algorithm
- Partial function application
- Pascal's triangle
- Pascal's triangle/Puzzle
- Pattern matching
- Perfect numbers
- Permutations
- Pick random element
- Playing cards
- Poker hand analyser
- Power set
- Primality by trial division
- Prime decomposition
- Priority queue
- Program name
- Program termination
- Proper divisors
- Pythagorean triples
- Quaternion type
- Queue/Definition
- Queue/Usage
- Quine
- Range expansion
- Range extraction
- Remove duplicate elements
- Rep-string
- Repeat
- Repeat a string
- Reverse a string
- Rock-paper-scissors
- Roman numerals/Decode
- Roman numerals/Encode
- Rot-13
- Run-length encoding
- Search a list
- Self-describing numbers
- Set
- Shell one-liner
- Short-circuit evaluation
- Sierpinski triangle
- Sierpinski triangle/Graphical
- Sieve of Eratosthenes
- Simple windowed application
- Sleep
- Sockets
- Solve a Hidato puzzle
- Solve the no connection puzzle
- Sort an integer array
- Sort using a custom comparator
- Sorting algorithms/Bubble sort
- Sorting algorithms/Cocktail sort
- Sorting algorithms/Insertion sort
- Sorting algorithms/Merge sort
- Sorting algorithms/Permutation sort
- Sorting algorithms/Quicksort
- Sorting algorithms/Selection sort
- Sorting algorithms/Sleep sort
- Soundex
- Spiral matrix
- Stable marriage problem
- Stack
- State name puzzle
- String interpolation (included)
- String prepend
- Strip a set of characters from a string
- Strip comments from a string
- Strip whitespace from a string/Top and tail
- Substring
- Substring/Top and tail
- Sudoku
- Sum and product of an array
- Sum multiples of 3 and 5
- Sum of a series
- Sum of squares
- Symmetric difference
- Test a function
- The Twelve Days of Christmas
- Tic-tac-toe
- Tokenize a string
- Top rank per group
- Tree traversal
- Truth table
- Twelve statements
- Undefined values
- Unicode variable names
- Universal Turing machine
- Van der Corput sequence
- Variables
- Variadic function
- Vector products
- Visualize a tree
- Window creation
- Y combinator
- Yin and yang
- Zebra puzzle
- Zig-zag matrix