| 220 | 18 Mar 2011 | Loopy Loops: Print the numbers from 1 to | 1000 without using loops or conditionals | exercise solution codepad |
| 161 | 24 Aug 2010 | Daniel Shanks’ Square Form Factorization Algorithm: A simple and very fast factorization algorithm for integers between 105 and | 1020 | exercise solution codepad |
| 161 | 24 Aug 2010 | Daniel Shanks’ Square Form Factorization Algorithm: A simple and very fast factorization algorithm for integers between | 105 and 1020 | exercise solution codepad |
| 399 | 14 Dec 2012 | 115132219018763992565095597973971522401: Calculate the sequence of narcissistic numbers | exercise solution codepad | |
| 288 | 15 Nov 2011 | Phil Harvey’s Puzle: partition | {1,…,16} into two sets of equal size so each subset has the same sum, sum of squares and sum of cubes | exercise solution codepad |
| 304 | 10 Jan 2012 | Thirteen Anagram: | 12+1=11+2 and “twelve plus one equals eleven plus two” are both anagrams | exercise solution codepad |
| 261 | 09 Aug 2011 | Hett’s Problem | 1.28: Sorting a list of lists according to length of sublists | exercise solution codepad |
| 129 | 20 Apr 2010 | 145 Puzzle: Build and evaluate expressions using the digits one through nine and the simple arithmetic operators | exercise solution codepad | |
| 412 | 05 Feb 2013 | The | 147 Puzzle: Compute all the solutions to 1/a + 1/b + 1/c + 1/d + 1/e = 1 in integers | exercise solution codepad |
| 397 | 07 Dec 2012 | Wirth Problem | 15.12: Compute a sequence of numbers defined by Wirth | exercise solution codepad |
| 284 | 01 Nov 2011 | RIP John McCarthy: Implementation of the “Maxwell’s equations of software” from the LISP | 1.5 Programmer’s Manual | exercise solution codepad |
| 271 | 13 Sep 2011 | Tetrahedral Numbers: Find the base of the tetrahedron that contains | 169179692512835000 balls | exercise solution codepad |
| 486 | 29 Oct 2013 | The | 16 Game: Determine the odds in a scratch-off game | exercise solution codepad |
| 413 | 08 Feb 2013 | The Biggest Prime: Print all | 17-million digits of the largest known prime number | exercise solution codepad |
| 215 | 01 Mar 2011 | An Early LISP Program: A program to flatten a list, from the March | 1960 LISP I manual | exercise solution codepad |
| 51 | 17 Jul 2009 | International Mathematical Olympiad: Three exercises from | 1960s math competitions | exercise solution codepad |
| 412 | 05 Feb 2013 | The 147 Puzzle: Compute all the solutions to | 1/a + 1/b + 1/c + 1/d + 1/e = 1 in integers | exercise solution codepad |
| 68 | 15 Sep 2009 | Regular Expressions, Part | 1: A parser for regular expressions | exercise solution codepad |
| 412 | 05 Feb 2013 | The 147 Puzzle: Compute all the solutions to 1/a | + 1/b + 1/c + 1/d + 1/e = 1 in integers | exercise solution codepad |
| 412 | 05 Feb 2013 | The 147 Puzzle: Compute all the solutions to 1/a + | 1/b + 1/c + 1/d + 1/e = 1 in integers | exercise solution codepad |
| 163 | 31 Aug 2010 | Data Encryption Standard: Part | 1: Basic block enciphering and deciphering using DES | exercise solution codepad |
| 206 | 28 Jan 2011 | Population Count: Count the number of set bits | (1-bits) in the binary representation of an integer | exercise solution codepad |
| 412 | 05 Feb 2013 | The 147 Puzzle: Compute all the solutions to 1/a + 1/b | + 1/c + 1/d + 1/e = 1 in integers | exercise solution codepad |
| 412 | 05 Feb 2013 | The 147 Puzzle: Compute all the solutions to 1/a + 1/b + | 1/c + 1/d + 1/e = 1 in integers | exercise solution codepad |
| 441 | 17 May 2013 | Coin Change, Part | 1: Classic problem to count the ways to make change | exercise solution codepad |
| 415 | 15 Feb 2013 | Facebook Hacker Cup 2013, Round 1, Problem | 1: Count the ways to win a card game | exercise solution codepad |
| 412 | 05 Feb 2013 | The 147 Puzzle: Compute all the solutions to 1/a + 1/b + 1/c | + 1/d + 1/e = 1 in integers | exercise solution codepad |
| 412 | 05 Feb 2013 | The 147 Puzzle: Compute all the solutions to 1/a + 1/b + 1/c + | 1/d + 1/e = 1 in integers | exercise solution codepad |
| 348 | 15 Jun 2012 | Counting Ones: Count the number of | 1-digits in the numbers less than n | exercise solution codepad |
| 412 | 05 Feb 2013 | The 147 Puzzle: Compute all the solutions to 1/a + 1/b + 1/c + 1/d | + 1/e = 1 in integers | exercise solution codepad |
| 412 | 05 Feb 2013 | The 147 Puzzle: Compute all the solutions to 1/a + 1/b + 1/c + 1/d + | 1/e = 1 in integers | exercise solution codepad |
| 130 | 23 Apr 2010 | Modern Elliptic Curve Factorization, Part | 1: Elliptic arithmetic using Montgomery’s parameterization | exercise solution codepad |
| 350 | 22 Jun 2012 | Billboard Challenge, Part | 1: First part of a Google recruiting challenge | exercise solution codepad |
| 177 | 19 Oct 2010 | Text File Databases: Part | 1: Functions to read records with fields in various formats | exercise solution codepad |
| 412 | 05 Feb 2013 | The 147 Puzzle: Compute all the solutions to 1/a + 1/b + 1/c + 1/d + 1/e | = 1 in integers | exercise solution codepad |
| 412 | 05 Feb 2013 | The 147 Puzzle: Compute all the solutions to 1/a + 1/b + 1/c + 1/d + 1/e = | 1 in integers | exercise solution codepad |
| 197 | 28 Dec 2010 | Carmichael Numbers: Composite numbers such that an-1 ≡ | 1 (mod n) if a is prime to n | exercise solution codepad |
| 197 | 28 Dec 2010 | Carmichael Numbers: Composite numbers such that an-1 | ≡ 1 (mod n) if a is prime to n | exercise solution codepad |
| 167 | 14 Sep 2010 | The Factorization Of F7: Part | 1: Our fortieth anniversary celebration of Morrison and Brillhart’s method of integer factorization by continued fractions | exercise solution codepad |
| 415 | 15 Feb 2013 | Facebook Hacker Cup 2013, Round | 1, Problem 1: Count the ways to win a card game | exercise solution codepad |
| 86 | 17 Nov 2009 | Master Mind, Part | 1: Referee a two-player game of deductive logic | exercise solution codepad |
| 220 | 18 Mar 2011 | Loopy Loops: Print the numbers from | 1 to 1000 without using loops or conditionals | exercise solution codepad |
| 378 | 02 Oct 2012 | AKS Primality Prover, Part | 1: Two functions used by the AKS primality prover | exercise solution codepad |
| 361 | 31 Jul 2012 | SEND + MORE = MONEY, Part | 1: Two slow solutions to a classic problem of recreational mathematics | exercise solution codepad |
| 24 | 14 Apr 2009 | Google Treasure Hunt | 2008 Puzzle 4: A prime-number puzzle | exercise solution codepad |
| 364 | 10 Aug 2012 | Minimum Scalar Product: A simple exercise from the practice round of Google Code Jam | 2008 | exercise solution codepad |
| 426 | 26 Mar 2013 | Google Code Jam Qualification Round Africa | 2010, Revisited: Four solutions to a Google programming exercise, with various time complexities | exercise solution codepad |
| 211 | 15 Feb 2011 | Google Code Jam Qualification Round Africa | 2010: Three simple exercises | exercise solution codepad |
| 415 | 15 Feb 2013 | Facebook Hacker Cup | 2013, Round 1, Problem 1: Count the ways to win a card game | exercise solution codepad |
| 404 | 01 Jan 2013 | Happy New Year!: Find expressions that evaluate to | 2013 | exercise solution codepad |
| 442 | 21 May 2013 | Coin Change, Part | 2: A variant on the classic coin change problem | exercise solution codepad |
| 164 | 03 Sep 2010 | Data Encryption Standard: Part | 2: ECB, CBC, CFB and OFB block modes for DES and other block ciphers | exercise solution codepad |
| 131 | 27 Apr 2010 | Modern Elliptic Curve Factorization, Part | 2: Elliptic arithmetic using Montgomery’s parameterization | exercise solution codepad |
| 242 | 03 Jun 2011 | Mersenne Primes: The Lucas-Lehmer test for identifying primes of the form | 2n−1 | exercise solution codepad |
| 168 | 17 Sep 2010 | The Factorization Of F7: Part | 2: Our fortieth anniversary celebration of Morrison and Brillhart’s method of integer factorization by continued fractions | exercise solution codepad |
| 463 | 06 Aug 2013 | Sophie Germain Primes: Primes p such that | 2p+1 is also prime | exercise solution codepad |
| 351 | 26 Jun 2012 | Billboard Challenge, Part | 2: Second part of a Google recruiting challenge | exercise solution codepad |
| 87 | 20 Nov 2009 | Master Mind, Part | 2: Solve a Master Mind puzzle in five probes or less | exercise solution codepad |
| 69 | 18 Sep 2009 | Regular Expressions, Part | 2: The corresponding matcher | exercise solution codepad |
| 379 | 05 Oct 2012 | AKS Primality Prover, Part | 2: The primality prover of Agrawal, Kayal and Saxena | exercise solution codepad |
| 259 | 02 Aug 2011 | The Nth Prime: The n prime, counting from p1 | = 2 | exercise solution codepad |
| 259 | 02 Aug 2011 | The Nth Prime: The n prime, counting from p1 = | 2 | exercise solution codepad |
| 362 | 03 Aug 2012 | SEND + MORE = MONEY, Part | 2: Two hill-climbing solutions to a classic problem of recreational mathematics | exercise solution codepad |
| 178 | 22 Oct 2010 | Text File Databases: Part | 2: Various functions to process records with fields | exercise solution codepad |
| 232 | 29 Apr 2011 | Rule 30 RNG: The random number generator from Mathematica, based on Stephen Wolfram’s Rule | 30 cellular automata | exercise solution codepad |
| 232 | 29 Apr 2011 | Rule | 30 RNG: The random number generator from Mathematica, based on Stephen Wolfram’s Rule 30 cellular automata | exercise solution codepad |
| 443 | 24 May 2013 | Coin Change, Part | 3: Another variant on the classic coin change problem | exercise solution codepad |
| 70 | 22 Sep 2009 | Regular Expressions, Part | 3: A regular expression test suite | exercise solution codepad |
| 450 | 18 Jun 2013 | 3SUM: A classic of computer science: find three numbers in an array that sum to zero | exercise solution codepad | |
| 273 | 20 Sep 2011 | Project Euler Problem | 3: Thorough explanation of integer factorization by trial division | exercise solution codepad |
| 165 | 07 Sep 2010 | Data Encryption Standard: Part | 3: Triple DES and cryptographic hashing | exercise solution codepad |
| 400 | 18 Dec 2012 | Petals Around The Rose: A game to celebrate our | 400th exercise | exercise solution codepad |
| 24 | 14 Apr 2009 | Google Treasure Hunt 2008 Puzzle | 4: A prime-number puzzle | exercise solution codepad |
| 166 | 10 Sep 2010 | Data Encryption Standard: Part | 4: DES driver program | exercise solution codepad |
| 65 | 04 Sep 2009 | Ron’s Cipher | #4: Stream cipher by Ron Rivest that underlies the SSL and WEP protocols | exercise solution codepad |
| 365 | 14 Aug 2012 | 4SUM: Find four numbers in an array that sum to zero | exercise solution codepad | |
| 251 | 05 Jul 2011 | Big Numbers: Examples: A library for big integers: display factorials to | 50, determine if a number is prime, and compute its prime factors | exercise solution codepad |
| 267 | 30 Aug 2011 | Hamming Numbers: List the numbers with no factors greater than | 5, a classic problem popularized by Dijkstra | exercise solution codepad |
| 89 | 27 Nov 2009 | $7.11: A math puzzle: a+b+c+d = a×b×c×d = 7.11 | exercise solution codepad | |
| 89 | 27 Nov 2009 | $7.11: A math puzzle: a+b+c+d = a×b×c×d | = 7.11 | exercise solution codepad |
| 89 | 27 Nov 2009 | $7.11: A math puzzle: a+b+c+d = a×b×c×d = | 7.11 | exercise solution codepad |
| 475 | 20 Sep 2013 | McCarthy’s | 91 Function: A recursive function designed as a test case for formal verification | exercise solution codepad |
| 208 | 04 Feb 2011 | Excel Columns: Numbers as in Excel column names, | A=1, Z=26, IV=256 | exercise solution codepad |
| 375 | 18 Sep 2012 | ABC Conjecture: Demonstrate a recently-proved conjecture of number theory | exercise solution codepad | |
| 89 | 27 Nov 2009 | $7.11: A math puzzle: | a+b+c+d = a×b×c×d = 7.11 | exercise solution codepad |
| 416 | 19 Feb 2013 | NPR Sunday Puzzle: Find two words containing the letters | a, b, c, d, e and f | exercise solution codepad |
| 465 | 13 Aug 2013 | Unix Paths: Convert relative Unix path to | absolute, by Robert Fisher | exercise solution codepad |
| 477 | 27 Sep 2013 | Double-Ended Priority Queues: Priority queues that permit | access at both ends | exercise solution codepad |
| 369 | 28 Aug 2012 | Random | Access Lists: A clever data structure that provides O(log n) access to items in a sequential list, along with cons, head and tail | exercise solution codepad |
| 369 | 28 Aug 2012 | Random Access Lists: A clever data structure that provides O(log n) | access to items in a sequential list, along with cons, head and tail | exercise solution codepad |
| 45 | 26 Jun 2009 | Treaps: A randomized dictionary data structure, provides in-order | access to key | exercise solution codepad |
| 466 | 16 Aug 2013 | Monkey Grid Puzzle: How many points can the monkey | access? | exercise solution codepad |
| 261 | 09 Aug 2011 | Hett’s Problem 1.28: Sorting a list of lists | according to length of sublists | exercise solution codepad |
| 343 | 25 May 2012 | Ackermann’s Function: A fast-growing function that tests recursion | exercise solution codepad | |
| 213 | 22 Feb 2011 | Sliding Window Minimum: List of minimums sliding | across an input list | exercise solution codepad |
| 209 | 08 Feb 2011 | The First Computer Program: | Ada Lovelace’s program to compute Bernoulli numbers for Charles Babbage’s Analytical Engine | exercise solution codepad |
| 109 | 09 Feb 2010 | Numerical Integration: Quadrature by the rectangular, trapezoidal and Simpson’s method, including | adaptive quadrature | exercise solution codepad |
| 292 | 29 Nov 2011 | AVL Trees, Extended: | Add additional functionality to AVL trees | exercise solution codepad |
| 120 | 19 Mar 2010 | Extending Pollard’s P−1 Factorization Algorithm: | Add a second stage to allow larger factorizations | exercise solution codepad |
| 292 | 29 Nov 2011 | AVL Trees, Extended: Add | additional functionality to AVL trees | exercise solution codepad |
| 143 | 22 Jun 2010 | Matrix Operations: Matrix | addition, scalar multiplication, multiplication and transposition | exercise solution codepad |
| 241 | 31 May 2011 | Big Numbers: | Addition, Subtraction And Multiplication: A library for big integers: grade-school algorithms for addition, subtraction, and multiplication | exercise solution codepad |
| 241 | 31 May 2011 | Big Numbers: Addition, Subtraction And Multiplication: A library for big integers: grade-school algorithms for | addition, subtraction, and multiplication | exercise solution codepad |
| 48 | 07 Jul 2009 | Modular Arithmetic: A function library for performing modular | addition, subtraction, multiplication, division, and square root | exercise solution codepad |
| 368 | 24 Aug 2012 | Hash Tables With Open | Addressing: An alternative to hash tables with chaining for collision resolution | exercise solution codepad |
| 169 | 21 Sep 2010 | Kaprekar Numbers: Square the number and | add the digits in halves | exercise solution codepad |
| 57 | 07 Aug 2009 | ADFGX: A classic German military field cipher from the First World War | exercise solution codepad | |
| 246 | 17 Jun 2011 | Adi Shamir’s Threshold Scheme: Use cryptography to share a secret, by Graham Enos | exercise solution codepad | |
| 268 | 02 Sep 2011 | Two String Exercises: Remove duplicate characters, and squish | adjacent blanks | exercise solution codepad |
| 94 | 15 Dec 2009 | Affine-Shift Cipher: A cryptographically weak but mathematically interesting cipher | exercise solution codepad | |
| 426 | 26 Mar 2013 | Google Code Jam Qualification Round | Africa 2010, Revisited: Four solutions to a Google programming exercise, with various time complexities | exercise solution codepad |
| 211 | 15 Feb 2011 | Google Code Jam Qualification Round | Africa 2010: Three simple exercises | exercise solution codepad |
| 449 | 14 Jun 2013 | The Digits of Pi, | Again: Chudnovsky’s algorithm for the digits of pi | exercise solution codepad |
| 379 | 05 Oct 2012 | AKS Primality Prover, Part 2: The primality prover of | Agrawal, Kayal and Saxena | exercise solution codepad |
| 378 | 02 Oct 2012 | AKS Primality Prover, Part 1: Two functions used by the AKS primality prover | exercise solution codepad | |
| 379 | 05 Oct 2012 | AKS Primality Prover, Part 2: The primality prover of Agrawal, Kayal and Saxena | exercise solution codepad | |
| 378 | 02 Oct 2012 | AKS Primality Prover, Part 1: Two functions used by the | AKS primality prover | exercise solution codepad |
| 133 | 04 May 2010 | Spectacular Seven: Compute the odds at jai | alai | exercise solution codepad |
| 398 | 11 Dec 2012 | Stepwise Program Development: A Heuristic | Algorithm: A backtracking solution to a problem of Wirth | exercise solution codepad |
| 120 | 19 Mar 2010 | Extending Pollard’s P−1 Factorization | Algorithm: Add a second stage to allow larger factorizations | exercise solution codepad |
| 138 | 04 Jun 2010 | Williams’ P+1 Factorization | Algorithm: A factorization algorithm, similar to Pollard’s p−1 algorithm | exercise solution codepad |
| 161 | 24 Aug 2010 | Daniel Shanks’ Square Form Factorization | Algorithm: A simple and very fast factorization algorithm for integers between 105 and 1020 | exercise solution codepad |
| 52 | 21 Jul 2009 | Pollard’s P−1 Factorization | Algorithm: A simple factorization algorithm by John Pollard | exercise solution codepad |
| 236 | 13 May 2011 | Dixon’s Factorization | Algorithm: A slow, but theoretically important, algorithm for integer factorization | exercise solution codepad |
| 117 | 09 Mar 2010 | Lexicographic Permutations: Continually generate the next permutation using an | algorithm by Dijkstra | exercise solution codepad |
| 52 | 21 Jul 2009 | Pollard’s P−1 Factorization Algorithm: A simple factorization | algorithm by John Pollard | exercise solution codepad |
| 393 | 23 Nov 2012 | Tonelli-Shanks | Algorithm: Compute modular square roots | exercise solution codepad |
| 431 | 12 Apr 2013 | Booth’s | Algorithm: Determine of two cyclic lists are equal | exercise solution codepad |
| 357 | 17 Jul 2012 | Breshenham’s Line-Drawing | Algorithm: Draw straight lines using raster graphics | exercise solution codepad |
| 176 | 15 Oct 2010 | Find The Longest Palindrome In A String: A beautiful linear-time | algorithm due to Johan Jeuring | exercise solution codepad |
| 84 | 10 Nov 2009 | Merge Sort: A fast, stable sorting | algorithm, especially well-suited to linked lists | exercise solution codepad |
| 328 | 03 Apr 2012 | Cornacchia’s | Algorithm: Find solutions to quadratic diophantine equations | exercise solution codepad |
| 125 | 06 Apr 2010 | Minimum Spanning Tree: Kruskal’s | Algorithm: Find the minimum-cost tree that includes all the nodes in a graph | exercise solution codepad |
| 126 | 09 Apr 2010 | Minimum Spanning Tree: Prim’s | Algorithm: Find the minimum-cost tree that includes all the nodes in a graph | exercise solution codepad |
| 199 | 04 Jan 2011 | Dijkstra’s | Algorithm: Find the shortest path to all vertices of a graph from a single source, guest written by Graham Enos | exercise solution codepad |
| 56 | 04 Aug 2009 | Lenstra’s Algorithm: Hendrik Lenstra’s original | algorithm for elliptic curve factorization | exercise solution codepad |
| 204 | 21 Jan 0 | Pollard Rho, Revisited: Richard Brent’s variant of John Pollard’s rho | algorithm for integer factorization | exercise solution codepad |
| 236 | 13 May 2011 | Dixon’s Factorization Algorithm: A slow, but theoretically important, | algorithm for integer factorization | exercise solution codepad |
| 161 | 24 Aug 2010 | Daniel Shanks’ Square Form Factorization Algorithm: A simple and very fast factorization | algorithm for integers between 105 and 1020 | exercise solution codepad |
| 243 | 07 Jun 2011 | Big Numbers: Division: A library for big integers: the grade-school | algorithm for long division | exercise solution codepad |
| 345 | 05 Jun 2012 | Binomial Heaps: Another | algorithm for maintaining priority queues | exercise solution codepad |
| 59 | 14 Aug 2009 | Pairing Heaps: A standard | algorithm for maintaining priority queues | exercise solution codepad |
| 105 | 26 Jan 2010 | Primality Checking, Revisited: The Baillie-Wagstaff | algorithm for primality checking | exercise solution codepad |
| 66 | 08 Sep 2009 | Porter Stemming: Martin Porter’s | algorithm for removing suffices from word stems | exercise solution codepad |
| 395 | 30 Nov 2012 | Selection, Revisited: A guaranteed linear-time | algorithm for selection | exercise solution codepad |
| 449 | 14 Jun 2013 | The Digits of Pi, Again: Chudnovsky’s | algorithm for the digits of pi | exercise solution codepad |
| 175 | 12 Oct 2010 | Rotate An Array: A simple but tricky exercise solved by an | algorithm from the folklore of computing | exercise solution codepad |
| 56 | 04 Aug 2009 | Lenstra’s | Algorithm: Hendrik Lenstra’s original algorithm for elliptic curve factorization | exercise solution codepad |
| 140 | 11 Jun 2010 | N-Queens: Our version of a classic | algorithmic exercise | exercise solution codepad |
| 134 | 07 May 2010 | Integer Logarithms: An improved | algorithm is O(log n) instead of O(n) | exercise solution codepad |
| 392 | 20 Nov 2012 | List Difference: Another | algorithm on linked lists | exercise solution codepad |
| 272 | 16 Sep 2011 | Pollard’s P−1 Factorization | Algoritihm, Revisited: An improved second stage that is much faster than the original | exercise solution codepad |
| 485 | 25 Oct 2013 | Pessimal | Algorithms And Simplexity Analysis: The slowsort algorithm using the multiply and surrender algorithms | exercise solution codepad |
| 241 | 31 May 2011 | Big Numbers: Addition, Subtraction And Multiplication: A library for big integers: grade-school | algorithms for addition, subtraction, and multiplication | exercise solution codepad |
| 138 | 04 Jun 2010 | Williams’ P+1 Factorization Algorithm: A factorization | algorithm, similar to Pollard’s p−1 algorithm | exercise solution codepad |
| 102 | 15 Jan 2010 | Three Binary | Algorithms: Multiplication, division and greatest common divisor using binary arithmetic | exercise solution codepad |
| 391 | 16 Nov 2012 | List Intersection And Union: Two | algorithms on linked lists, with multiple solutions | exercise solution codepad |
| 154 | 30 Jul 2010 | Fibonacci Numbers: Three | algorithms taking exponential time, linear time, and logarithmic time | exercise solution codepad |
| 349 | 19 Jun 2012 | Digits Of E: Two | algorithms that compute the digits of e, one bounded, the other unbounded | exercise solution codepad |
| 447 | 07 Jun 2013 | Sets: A classic data structure and associated | algorithms | exercise solution codepad |
| 485 | 25 Oct 2013 | Pessimal Algorithms And Simplexity Analysis: The slowsort algorithm using the multiply and surrender | algorithms | exercise solution codepad |
| 111 | 16 Feb 2010 | Soundex: An | algorithm to assign people’s last names to equivalence classes based on similar spelling | exercise solution codepad |
| 8 | 20 Feb 2009 | The Digits of Pi: A spigot | algorithm to calculate the digits of pi | exercise solution codepad |
| 335 | 27 Apr 2012 | Trabb Pardo Knuth | Algorithm: Trivial algorithm, used to explore an unfamiliar language | exercise solution codepad |
| 138 | 04 Jun 2010 | Williams’ P+1 Factorization Algorithm: A factorization algorithm, similar to Pollard’s p−1 | algorithm | exercise solution codepad |
| 226 | 08 Apr 2011 | Credit Card Validation: Validate decimal numbers using the Luhn | algorithm | exercise solution codepad |
| 289 | 18 Nov 2011 | Grade School Multiplication: Display the steps in the grade school multiplication | algorithm | exercise solution codepad |
| 291 | 25 Nov 2011 | AVL Trees: Basic implementation of the original balanced-tree | algorithm | exercise solution codepad |
| 2 | 19 Feb 2009 | Sieve of Eratosthenes: A Scheme implementation of an ancient | algorithm | exercise solution codepad |
| 301 | 30 Dec 2011 | Split: Split a list in two halves using the tortoise-and-hare | algorithm | exercise solution codepad |
| 34 | 19 May 2009 | Fermat’s Method: Integer factorization by Fermat’s | algorithm | exercise solution codepad |
| 385 | 26 Oct 2012 | Pythatorean Triples: Generate primitive pythagorean triples by an ancient | algorithm | exercise solution codepad |
| 424 | 19 Mar 2013 | Quadratic Sieve: Basic version of a powerful factoring | algorithm | exercise solution codepad |
| 43 | 19 Jun 2009 | Monte Carlo Factorization: Integer factorization via Pollard’s rho | algorithm | exercise solution codepad |
| 62 | 25 Aug 2009 | String Search: Knuth-Morris-Pratt: Search for a pattern in a text using an O(n) | algorithm | exercise solution codepad |
| 63 | 28 Aug 2009 | String Search: Boyer-Moore: Search for a pattern in a text using a fast and simple | algorithm | exercise solution codepad |
| 64 | 01 Sep 2009 | String Search: Rabin-Karp: Our final classic string-search | algorithm | exercise solution codepad |
| 82 | 03 Nov 2009 | Quick Sort: Tony Hoare’s divide-and-conquer sorting | algorithm | exercise solution codepad |
| 27 | 24 Apr 2009 | Word Hy-phen-a-tion By Com-pu-ter: Frank Liang’s hyphenation | algorithm, used in TeX | exercise solution codepad |
| 335 | 27 Apr 2012 | Trabb Pardo Knuth Algorithm: Trivial | algorithm, used to explore an unfamiliar language | exercise solution codepad |
| 485 | 25 Oct 2013 | Pessimal Algorithms And Simplexity Analysis: The slowsort | algorithm using the multiply and surrender algorithms | exercise solution codepad |
| 40 | 09 Jun 2009 | Longest Common Subsequence: A classic programming | algorithm, with a solution that dates to folklore | exercise solution codepad |
| 17 | 20 Mar 2009 | Dodgson's Doublets: A word game invented by the author of | Alice in Wonderland | exercise solution codepad |
| 170 | 24 Sep 2010 | Alien Numbers: An exercise from Google Code Jam | exercise solution codepad | |
| 413 | 08 Feb 2013 | The Biggest Prime: Print | all 17-million digits of the largest known prime number | exercise solution codepad |
| 337 | 04 May 2012 | Even-Odd Partition: Partition an array so | all even integers precede all odd integers | exercise solution codepad |
| 453 | 28 Jun 2013 | A Programming Puzzle: Write a function f so that f(f(n)) = -n for | all integers n. | exercise solution codepad |
| 337 | 04 May 2012 | Even-Odd Partition: Partition an array so all even integers precede | all odd integers | exercise solution codepad |
| 120 | 19 Mar 2010 | Extending Pollard’s P−1 Factorization Algorithm: Add a second stage to | allow larger factorizations | exercise solution codepad |
| 118 | 12 Mar 2010 | Traveling Salesman: Brute Force: Examine | all possible permutations to find the least-cost tour | exercise solution codepad |
| 61 | 21 Aug 2009 | String Search: Brute Force: Search for a pattern in a text by comparing the pattern to the text at | all possible positions | exercise solution codepad |
| 401 | 21 Dec 2012 | Building Primes: Build the largest prime with | all right-most subsequences also prime | exercise solution codepad |
| 386 | 30 Oct 2012 | Pandigital Numbers: Find sums that include | all ten digits | exercise solution codepad |
| 125 | 06 Apr 2010 | Minimum Spanning Tree: Kruskal’s Algorithm: Find the minimum-cost tree that includes | all the nodes in a graph | exercise solution codepad |
| 126 | 09 Apr 2010 | Minimum Spanning Tree: Prim’s Algorithm: Find the minimum-cost tree that includes | all the nodes in a graph | exercise solution codepad |
| 412 | 05 Feb 2013 | The 147 Puzzle: Compute | all the solutions to 1/a + 1/b + 1/c + 1/d + 1/e = 1 in integers | exercise solution codepad |
| 199 | 04 Jan 2011 | Dijkstra’s Algorithm: Find the shortest path to | all vertices of a graph from a single source, guest written by Graham Enos | exercise solution codepad |
| 425 | 22 Mar 2013 | Jumping Jack: Jump in increasing sizes | along the number line | exercise solution codepad |
| 369 | 28 Aug 2012 | Random Access Lists: A clever data structure that provides O(log n) access to items in a sequential list, | along with cons, head and tail | exercise solution codepad |
| 440 | 14 May 2013 | Optimal Alphabetical Order: Redefine the alphabet to improve | alphabetical ordering | exercise solution codepad |
| 440 | 14 May 2013 | Optimal | Alphabetical Order: Redefine the alphabet to improve alphabetical ordering | exercise solution codepad |
| 440 | 14 May 2013 | Optimal Alphabetical Order: Redefine the | alphabet to improve alphabetical ordering | exercise solution codepad |
| 401 | 21 Dec 2012 | Building Primes: Build the largest prime with all right-most subsequences | also prime | exercise solution codepad |
| 463 | 06 Aug 2013 | Sophie Germain Primes: Primes p such that 2p+1 is | also prime | exercise solution codepad |
| 214 | 25 Feb 2011 | Sieve Of Euler: An | alternate, and slow, method of sieving for primes | exercise solution codepad |
| 368 | 24 Aug 2012 | Hash Tables With Open Addressing: An | alternative to hash tables with chaining for collision resolution | exercise solution codepad |
| 106 | 29 Jan 2010 | Straddling Checkerboard: An | alternative to the Polybius square for ciphers that must convert letters to digits | exercise solution codepad |
| 110 | 12 Feb 2010 | Sieve of Atkin: A modern | alternative to the Sieve of Eratosthenes for computing prime numbers | exercise solution codepad |
| 303 | 06 Jan 2012 | Pritchard’s Wheel Sieve: An | alternative to the Sieve of Eratosthenes with a faster asymptotic time complexity | exercise solution codepad |
| 119 | 16 Mar 2010 | Traveling Salesman: Nearest Neighbor: A greedy heuristic that builds a path by | always choosing the nearest unvisited point | exercise solution codepad |
| 300 | 27 Dec 2011 | Cheating Hangman: A version of Hangman that nearly | always wins | exercise solution codepad |
| 394 | 27 Nov 2012 | Amazon Interview Question: Find the hundred points of a million closest to the origin | exercise solution codepad | |
| 7 | 20 Feb 2009 | Multiple Dwellings: A simple logic puzzle, solved with the | amb non-deterministic operator |
exercise solution codepad |
| 320 | 06 Mar 2012 | Union Route Cipher: Military cipher used successfully by Union forces in the | American Civil War | exercise solution codepad |
| 180 | 29 Oct 2010 | Fibonacci Primes: Find primes | among the fibonacci numbers; includes the Park-Miller random number generator and Miller-Rabin primality checker | exercise solution codepad |
| 32 | 12 May 2009 | Loan | Amortization: Calculate and print a simple loan amortization table | exercise solution codepad |
| 32 | 12 May 2009 | Loan Amortization: Calculate and print a simple loan | amortization table | exercise solution codepad |
| 207 | 01 Feb 2011 | Cuckoo Hashing: A hashing system with guaranteed constant-time lookup and | amortized constant-time insertion | exercise solution codepad |
| 197 | 28 Dec 2010 | Carmichael Numbers: Composite numbers such that | an-1 ≡ 1 (mod n) if a is prime to n | exercise solution codepad |
| 304 | 10 Jan 2012 | Thirteen | Anagram: 12+1=11+2 and “twelve plus one equals eleven plus two” are both anagrams | exercise solution codepad |
| 309 | 27 Jan 2012 | Anagram Phrases: “Gin grammar prop six” is an | anagram for “Programming Praxis” | exercise solution codepad |
| 309 | 27 Jan 2012 | Anagram Phrases: “Gin grammar prop six” is an anagram for “Programming Praxis” | exercise solution codepad | |
| 23 | 10 Apr 2009 | Anagrams: Find anagrams in a dictionary | exercise solution codepad | |
| 23 | 10 Apr 2009 | Anagrams: Find | anagrams in a dictionary | exercise solution codepad |
| 304 | 10 Jan 2012 | Thirteen Anagram: 12+1=11+2 and “twelve plus one equals eleven plus two” are both | anagrams | exercise solution codepad |
| 485 | 25 Oct 2013 | Pessimal Algorithms And Simplexity | Analysis: The slowsort algorithm using the multiply and surrender algorithms | exercise solution codepad |
| 209 | 08 Feb 2011 | The First Computer Program: Ada Lovelace’s program to compute Bernoulli numbers for Charles Babbage’s | Analytical Engine | exercise solution codepad |
| 22 | 07 Apr 2009 | Flipping Pancakes: A sorting method | analyzed by Bill Gates | exercise solution codepad |
| 90 | 01 Dec 2009 | Wolves And Rabbits: | Analyze population dynamics using the Lotka-Volterra equations | exercise solution codepad |
| 218 | 11 Mar 2011 | Lowest Common | Ancestor: Find the lowest node in a binary search tree that is a common ancestor to two given nodes | exercise solution codepad |
| 218 | 11 Mar 2011 | Lowest Common Ancestor: Find the lowest node in a binary search tree that is a common | ancestor to two given nodes | exercise solution codepad |
| 2 | 19 Feb 2009 | Sieve of Eratosthenes: A Scheme implementation of an | ancient algorithm | exercise solution codepad |
| 385 | 26 Oct 2012 | Pythatorean Triples: Generate primitive pythagorean triples by an | ancient algorithm | exercise solution codepad |
| 162 | 27 Aug 2010 | Chinese Remainders: An | ancient application of modular inverses | exercise solution codepad |
| 446 | 04 Jun 2013 | Egyptian Fractions: An | ancient method of representing fractions | exercise solution codepad |
| 153 | 27 Jul 2010 | HAMURABI.BAS: Manage grain and land in | ancient Sumeria | exercise solution codepad |
| 167 | 14 Sep 2010 | The Factorization Of F7: Part 1: Our fortieth | anniversary celebration of Morrison and Brillhart’s method of integer factorization by continued fractions | exercise solution codepad |
| 168 | 17 Sep 2010 | The Factorization Of F7: Part 2: Our fortieth | anniversary celebration of Morrison and Brillhart’s method of integer factorization by continued fractions | exercise solution codepad |
| 388 | 06 Nov 2012 | Fix Something | Annoying: Take control of your computing environment by fixing something that annoys you | exercise solution codepad |
| 388 | 06 Nov 2012 | Fix Something Annoying: Take control of your computing environment by fixing something that | annoys you | exercise solution codepad |
| 196 | 24 Dec 2010 | Tracking Santa: How far does Santa travel on his | annual journey? | exercise solution codepad |
| 345 | 05 Jun 2012 | Binomial Heaps: | Another algorithm for maintaining priority queues | exercise solution codepad |
| 392 | 20 Nov 2012 | List Difference: | Another algorithm on linked lists | exercise solution codepad |
| 409 | 22 Jan 2013 | Splay Heaps: Yet | another implementation of priority queues | exercise solution codepad |
| 482 | 15 Oct 2013 | Find The Minimum Difference: Find the minimum difference between any item from on list and any item from | another list | exercise solution codepad |
| 187 | 23 Nov 2010 | String Subsets: Determine if one string is a subset of | another | exercise solution codepad |
| 443 | 24 May 2013 | Coin Change, Part 3: | Another variant on the classic coin change problem | exercise solution codepad |
| 469 | 27 Aug 2013 | Two Sieving Problems: Use sieves to | answer two prime-number questions | exercise solution codepad |
| 276 | 30 Sep 2011 | Logarithm Tables: Print old-fashioned tables of logarithms and | anti-logarithms | exercise solution codepad |
| 344 | 01 Jun 2012 | Square Roots: Four methods to compute square roots, including one from | antiquity | exercise solution codepad |
| 317 | 24 Feb 2012 | Remove Characters From A String: Remove from one string | any character in a second string | exercise solution codepad |
| 88 | 24 Nov 2009 | Sunrise, Sunset: Calculate the times of sunrise and sunset on | any day anywhere in the world | exercise solution codepad |
| 482 | 15 Oct 2013 | Find The Minimum Difference: Find the minimum difference between any item from on list and | any item from another list | exercise solution codepad |
| 482 | 15 Oct 2013 | Find The Minimum Difference: Find the minimum difference between | any item from on list and any item from another list | exercise solution codepad |
| 384 | 23 Oct 2012 | Universal Hash Function: Compute a hash for | any native Scheme datatype | exercise solution codepad |
| 88 | 24 Nov 2009 | Sunrise, Sunset: Calculate the times of sunrise and sunset on any day | anywhere in the world | exercise solution codepad |
| 225 | 05 Apr 2011 | Fortune: Print a random | aphorism from a file | exercise solution codepad |
| 436 | 30 Apr 2013 | First Unrepeated Character In A String: Find the first character that | appears only once in a string | exercise solution codepad |
| 262 | 12 Aug 2011 | Word Breaks: Insert spaces between words: | applepie => apple pie | exercise solution codepad |
| 262 | 12 Aug 2011 | Word Breaks: Insert spaces between words: applepie | => apple pie | exercise solution codepad |
| 262 | 12 Aug 2011 | Word Breaks: Insert spaces between words: applepie => | apple pie | exercise solution codepad |
| 162 | 27 Aug 2010 | Chinese Remainders: An ancient | application of modular inverses | exercise solution codepad |
| 227 | 12 Apr 2011 | House Of Representatives: | Apportion representatives by the Huntington-Hill method | exercise solution codepad |
| 73 | 02 Oct 2009 | Red-Black Trees: A purely functional dictionary data structure based on | approximately-balanced trees | exercise solution codepad |
| 258 | 29 Jul 2011 | Approximating Pi: Approximating pi with the logarithmic integral and Riemann’s R function | exercise solution codepad | |
| 258 | 29 Jul 2011 | Approximating Pi: | Approximating pi with the logarithmic integral and Riemann’s R function | exercise solution codepad |
| 201 | 11 Jan 2011 | Two Integrals: The exponential and logarithmic integral, and an | approximation for prime-pi | exercise solution codepad |
| 75 | 09 Oct 2009 | Calculating Pi: Calculate the value of π by monte-carlo methods and by an | Archimedean method | exercise solution codepad |
| 304 | 10 Jan 2012 | Thirteen Anagram: 12+1=11+2 and “twelve plus one equals eleven plus two” | are both anagrams | exercise solution codepad |
| 430 | 09 Apr 2013 | Cyclic Equality: Determine if two cyclic lists | are equal | exercise solution codepad |
| 431 | 12 Apr 2013 | Booth’s Algorithm: Determine of two cyclic lists | are equal | exercise solution codepad |
| 181 | 02 Nov 2010 | Emirps: Prime numbers that | are prime when their digits are reversed, but not palindromic | exercise solution codepad |
| 319 | 02 Mar 2012 | Balanced Delimiters: Determine if nested delimiters | are properly balanced | exercise solution codepad |
| 181 | 02 Nov 2010 | Emirps: Prime numbers that are prime when their digits | are reversed, but not palindromic | exercise solution codepad |
| 310 | 31 Jan 2012 | String Rotation: Determine if two strings | are rotations of each other | exercise solution codepad |
| 313 | 10 Feb 2012 | Search In An Ascending Matrix: Find a number in a matrix where both rows and columns | are sorted in ascending order | exercise solution codepad |
| 237 | 17 May 2011 | Two Bad Sorts: Stooge sort and bogosort | are worse than quadratic | exercise solution codepad |
| 142 | 18 Jun 0 | Parsing Command-Line | Arguments: An old-style getopt function | exercise solution codepad |
| 48 | 07 Jul 2009 | Modular | Arithmetic: A function library for performing modular addition, subtraction, multiplication, division, and square root | exercise solution codepad |
| 205 | 25 Jan 2011 | Rational Numbers: A library of basic | arithmetic and comparison of fractions | exercise solution codepad |
| 195 | 21 Dec 2010 | Interval | Arithmetic: An exercise from SICP | exercise solution codepad |
| 198 | 31 Dec 2010 | Arithmetic Drill: Repetitious drill for children learning basic arithmetic | exercise solution codepad | |
| 358 | 20 Jul 2012 | Infix Expression Evaluation: Write a parser to evaluate | arithmetic expressions | exercise solution codepad |
| 128 | 16 Apr 2010 | Expression Evaluation: Parse and evaluate an | arithmetic expression with plus, minus, times, divide and parentheses | exercise solution codepad |
| 325 | 23 Mar 2012 | Base-26 Arithmetic: Perform | arithmetic on integers represented as strings of letters | exercise solution codepad |
| 129 | 20 Apr 2010 | 145 Puzzle: Build and evaluate expressions using the digits one through nine and the simple | arithmetic operators | exercise solution codepad |
| 325 | 23 Mar 2012 | Base-26 | Arithmetic: Perform arithmetic on integers represented as strings of letters | exercise solution codepad |
| 102 | 15 Jan 2010 | Three Binary Algorithms: Multiplication, division and greatest common divisor using binary | arithmetic | exercise solution codepad |
| 198 | 31 Dec 2010 | Arithmetic Drill: Repetitious drill for children learning basic | arithmetic | exercise solution codepad |
| 306 | 17 Jan 2012 | Guess The Number: Number-guessing game for children learning | arithmetic | exercise solution codepad |
| 433 | 19 Apr 2013 | Integer Roots: Calculate square roots and higher roots in integer | arithmetic | exercise solution codepad |
| 130 | 23 Apr 2010 | Modern Elliptic Curve Factorization, Part 1: Elliptic | arithmetic using Montgomery’s parameterization | exercise solution codepad |
| 131 | 27 Apr 2010 | Modern Elliptic Curve Factorization, Part 2: Elliptic | arithmetic using Montgomery’s parameterization | exercise solution codepad |
| 421 | 08 Mar 2013 | Knight Moves: Move a knight | around a chess board | exercise solution codepad |
| 400 | 18 Dec 2012 | Petals | Around The Rose: A game to celebrate our 400th exercise | exercise solution codepad |
| 175 | 12 Oct 2010 | Rotate An | Array: A simple but tricky exercise solved by an algorithm from the folklore of computing | exercise solution codepad |
| 274 | 23 Sep 2011 | Array Duplicates: Find the duplicate integer in a large array | exercise solution codepad | |
| 460 | 26 Jul 2013 | Find X[i] = i In An Array: Find an | array element equal to its index | exercise solution codepad |
| 460 | 26 Jul 2013 | Find X[i] = i In An | Array: Find an array element equal to its index | exercise solution codepad |
| 224 | 01 Apr 2011 | Maximum Difference In An | Array: Find maximum Xj &minus Xi, with i ≤ j | exercise solution codepad |
| 422 | 12 Mar 2013 | An | Array Of Two Symbols: A learning experience for binary search | exercise solution codepad |
| 78 | 20 Oct 2009 | Shuffle: Create random permutations of an | array or linked list | exercise solution codepad |
| 77 | 16 Oct 2009 | Growable | Arrays: Arrays that grow and shrink at run-time, with O(log n) complexity per operation | exercise solution codepad |
| 337 | 04 May 2012 | Even-Odd Partition: Partition an | array so all even integers precede all odd integers | exercise solution codepad |
| 77 | 16 Oct 2009 | Growable Arrays: | Arrays that grow and shrink at run-time, with O(log n) complexity per operation | exercise solution codepad |
| 228 | 15 Apr 2011 | Partition Numbers: Calculate the partition numbers, using memoization via growing | arrays | exercise solution codepad |
| 365 | 14 Aug 2012 | 4SUM: Find four numbers in an | array that sum to zero | exercise solution codepad |
| 450 | 18 Jun 2013 | 3SUM: A classic of computer science: find three numbers in an | array that sum to zero | exercise solution codepad |
| 274 | 23 Sep 2011 | Array Duplicates: Find the duplicate integer in a large | array | exercise solution codepad |
| 279 | 14 Oct 2011 | The First N Primes: Embedding the Sieve of Eratosthenes in a priority queue instead of an | array | exercise solution codepad |
| 410 | 25 Jan 2013 | Imperative Heaps: The classing implementation of priority queues embedded in an | array | exercise solution codepad |
| 344 | 00 May 2012 | Streaming Median: Find the medians of a set of numbers as they | arrive in a stream | exercise solution codepad |
| 313 | 10 Feb 2012 | Search In An | Ascending Matrix: Find a number in a matrix where both rows and columns are sorted in ascending order | exercise solution codepad |
| 313 | 10 Feb 2012 | Search In An Ascending Matrix: Find a number in a matrix where both rows and columns are sorted in | ascending order | exercise solution codepad |
| 111 | 16 Feb 2010 | Soundex: An algorithm to | assign people’s last names to equivalence classes based on similar spelling | exercise solution codepad |
| 447 | 07 Jun 2013 | Sets: A classic data structure and | associated algorithms | exercise solution codepad |
| 303 | 06 Jan 2012 | Pritchard’s Wheel Sieve: An alternative to the Sieve of Eratosthenes with a faster | asymptotic time complexity | exercise solution codepad |
| 110 | 12 Feb 2010 | Sieve of | Atkin: A modern alternative to the Sieve of Eratosthenes for computing prime numbers | exercise solution codepad |
| 112 | 19 Feb 2010 | Sieve Of | Atkin, Improved: A faster version of the Sieve of Atkin | exercise solution codepad |
| 112 | 19 Feb 2010 | Sieve Of Atkin, Improved: A faster version of the Sieve of | Atkin | exercise solution codepad |
| 89 | 27 Nov 2009 | $7.11: A math puzzle: a+b+c+d | = a×b×c×d = 7.11 | exercise solution codepad |
| 89 | 27 Nov 2009 | $7.11: A math puzzle: a+b+c+d = | a×b×c×d = 7.11 | exercise solution codepad |
| 238 | 20 May 0 | ISBN Validation: Validate ISBN book numbers, and fetch | author and title from the internet | exercise solution codepad |
| 229 | 19 Apr 2011 | Same Five Digits: A math puzzle from New Scientist, solved by guest | author Bob Miller | exercise solution codepad |
| 17 | 20 Mar 2009 | Dodgson's Doublets: A word game invented by the | author of Alice in Wonderland | exercise solution codepad |
| 458 | 19 Jul 2013 | J K Rowling: Identify an | author using forensic linguistics | exercise solution codepad |
| 91 | 04 Dec 2009 | Autokey: A cipher in which the input text forms part of the key | exercise solution codepad | |
| 147 | 06 Jul 2010 | Chaocipher: First look at a ninety-two year old | autokey-type cipher | exercise solution codepad |
| 33 | 15 May 2009 | Cellular Automata: Linear cellular | automata as described by Stephen Wolfram in his book A New Kind of Science | exercise solution codepad |
| 33 | 15 May 2009 | Cellular | Automata: Linear cellular automata as described by Stephen Wolfram in his book A New Kind of Science | exercise solution codepad |
| 232 | 29 Apr 2011 | Rule 30 RNG: The random number generator from Mathematica, based on Stephen Wolfram’s Rule 30 cellular | automata | exercise solution codepad |
| 333 | 20 Apr 2012 | John Horton Conway’s Game Of Life: The classic cellular | automata | exercise solution codepad |
| 456 | 12 Jul 2013 | Dynamic Hash Tables: Hash tables that grow and contract | automatically to maintain a constant load factor | exercise solution codepad |
| 376 | 21 Sep 2012 | Autumn Equinox: Calculate the length of the day; provides a time-handling library | exercise solution codepad | |
| 291 | 25 Nov 2011 | AVL Trees: Basic implementation of the original balanced-tree algorithm | exercise solution codepad | |
| 292 | 29 Nov 2011 | AVL Trees, Extended: Add additional functionality to AVL trees | exercise solution codepad | |
| 292 | 29 Nov 2011 | AVL Trees, Extended: Add additional functionality to | AVL trees | exercise solution codepad |
| 209 | 08 Feb 2011 | The First Computer Program: Ada Lovelace’s program to compute Bernoulli numbers for Charles | Babbage’s Analytical Engine | exercise solution codepad |
| 233 | 03 May 2011 | Squaring The Bishop: Charles | Babbage’s game of word squares | exercise solution codepad |
| 398 | 11 Dec 2012 | Stepwise Program Development: A Heuristic Algorithm: A | backtracking solution to a problem of Wirth | exercise solution codepad |
| 4 | 19 Feb 2009 | Sudoku: A | backtracking solution to everybody’s favorite puzzle | exercise solution codepad |
| 367 | 21 Aug 2012 | Two More Random Exercises: Two | bad random number generators, the middle-square method and RANDU | exercise solution codepad |
| 237 | 17 May 2011 | Two | Bad Sorts: Stooge sort and bogosort are worse than quadratic | exercise solution codepad |
| 105 | 26 Jan 2010 | Primality Checking, Revisited: The | Baillie-Wagstaff algorithm for primality checking | exercise solution codepad |
| 419 | 01 Mar 2013 | Baillie-Wagstaff Pseudoprimality Tester: Primality test, an improvement over the Miller-Rabin test | exercise solution codepad | |
| 319 | 02 Mar 2012 | Balanced Delimiters: Determine if nested delimiters are properly balanced | exercise solution codepad | |
| 291 | 25 Nov 2011 | AVL Trees: Basic implementation of the original | balanced-tree algorithm | exercise solution codepad |
| 319 | 02 Mar 2012 | Balanced Delimiters: Determine if nested delimiters are properly | balanced | exercise solution codepad |
| 271 | 13 Sep 2011 | Tetrahedral Numbers: Find the base of the tetrahedron that contains 169179692512835000 | balls | exercise solution codepad |
| 322 | 13 Mar 2012 | Perfect Power Predicate: Given a positive integer n, determine if there exists a | b and e for which be = n | exercise solution codepad |
| 325 | 23 Mar 2012 | Base-26 Arithmetic: Perform arithmetic on integers represented as strings of letters | exercise solution codepad | |
| 46 | 30 Jun 2009 | Steve Yegge’s Phone-Screen Coding Exercises: A simple set of programming exercises | based on a blog entry by Steve Yegge | exercise solution codepad |
| 26 | 21 Apr 2009 | Probabilistic Spell Checking: A probabilistic spell-checker | based on a Bloom filter | exercise solution codepad |
| 60 | 18 Aug 2009 | Blum Blum Shub: Stream cipher | based on a cryptographically secure pseudo-random number generator | exercise solution codepad |
| 203 | 18 Jan 2011 | Solitaire Cipher: Bruce Schneier’s strong cryptography | based on a deck of playing cards | exercise solution codepad |
| 73 | 02 Oct 2009 | Red-Black Trees: A purely functional dictionary data structure | based on approximately-balanced trees | exercise solution codepad |
| 257 | 26 Jul 2011 | More Prime-Counting Functions: Prime counting functions by Meissel and Lehmer, | based on Legendre’s sum | exercise solution codepad |
| 49 | 10 Jul 2009 | The Golden Ratio: Evaluate a continued fraction, | based on my daughter’s math homework | exercise solution codepad |
| 83 | 06 Nov 2009 | Heap Sort: A guaranteed O(log n) sorting method | based on priority queues | exercise solution codepad |
| 111 | 16 Feb 2010 | Soundex: An algorithm to assign people’s last names to equivalence classes | based on similar spelling | exercise solution codepad |
| 232 | 29 Apr 2011 | Rule 30 RNG: The random number generator from Mathematica, | based on Stephen Wolfram’s Rule 30 cellular automata | exercise solution codepad |
| 271 | 13 Sep 2011 | Tetrahedral Numbers: Find the | base of the tetrahedron that contains 169179692512835000 balls | exercise solution codepad |
| 205 | 25 Jan 2011 | Rational Numbers: A library of | basic arithmetic and comparison of fractions | exercise solution codepad |
| 198 | 31 Dec 2010 | Arithmetic Drill: Repetitious drill for children learning | basic arithmetic | exercise solution codepad |
| 163 | 31 Aug 2010 | Data Encryption Standard: Part 1: | Basic block enciphering and deciphering using DES | exercise solution codepad |
| 489 | 29 Oct 2013 | Queues: Implement a | basic data structure | exercise solution codepad |
| 54 | 28 Jul 2009 | Elliptic Curves: Library of | basic functions on elliptic curves | exercise solution codepad |
| 291 | 25 Nov 2011 | AVL Trees: | Basic implementation of the original balanced-tree algorithm | exercise solution codepad |
| 428 | 02 Apr 2013 | Quadratic Sieve With Large Primes: A (slightly) improved version of the | basic quadratic sieve | exercise solution codepad |
| 451 | 21 Jun 2013 | Multiple Polynomial Quadratic Sieve: A greatly improved version of the | basic quadratic sieve | exercise solution codepad |
| 424 | 19 Mar 2013 | Quadratic Sieve: | Basic version of a powerful factoring algorithm | exercise solution codepad |
| 435 | 26 Apr 2013 | Correct Horse | Battery Staple, Improved: Fix a horrible bug in the original version | exercise solution codepad |
| 434 | 23 Apr 2013 | Correct Horse | Battery Staple: Randall Munro’s passphrase generator | exercise solution codepad |
| 416 | 19 Feb 2013 | NPR Sunday Puzzle: Find two words containing the letters a, | b, c, d, e and f | exercise solution codepad |
| 484 | 22 Oct 2013 | David Gries’ Coffee Can Problem: Simulate the process of extracting | beans from a coffee can | exercise solution codepad |
| 67 | 11 Sep 2009 | Beautiful Code: A simple regular-expression matcher by Rob Pike | exercise solution codepad | |
| 176 | 15 Oct 2010 | Find The Longest Palindrome In A String: A | beautiful linear-time algorithm due to Johan Jeuring | exercise solution codepad |
| 260 | 05 Aug 2011 | Ninety-Nine Bottles Of | Beer: The popular song | exercise solution codepad |
| 452 | 25 Jun 2013 | Swap List Nodes: Swap the kth node from the | beginning of a list with the kth node from the end of a list | exercise solution codepad |
| 438 | 07 May 2013 | Three List Exercises: Three simple exercises on lists, for | beginning programmers | exercise solution codepad |
| 330 | 10 Apr 2012 | Galton: Simulate a marble-drop that forms a | bell-shaped curve | exercise solution codepad |
| 179 | 26 Oct 2010 | Benford’s Law: A useful mathematical oddity, and an example of text file databases | exercise solution codepad | |
| 113 | 23 Feb 2010 | Engineering A Sort Function: A high-performance quicksort by Jon | Bentley and Doug McIlroy | exercise solution codepad |
| 190 | 03 Dec 2010 | Maximum Sum Subsequence: A classic programming exercise due to Jon | Bentley | exercise solution codepad |
| 322 | 13 Mar 2012 | Perfect Power Predicate: Given a positive integer n, determine if there exists a b and e for which | be = n | exercise solution codepad |
| 377 | 28 Sep 2012 | Pocklington’s N−1 Primality Prover: Prove n prime if n−1 can | be partially factored | exercise solution codepad |
| 287 | 11 Nov 2011 | Generators: Write functions that yield a value, but can then | be re-entered | exercise solution codepad |
| 281 | 21 Oct 2011 | Sum, Revisited: SysV and | Berkeley versions of the Unix V7 sum command | exercise solution codepad |
| 209 | 08 Feb 2011 | The First Computer Program: Ada Lovelace’s program to compute | Bernoulli numbers for Charles Babbage’s Analytical Engine | exercise solution codepad |
| 210 | 11 Feb 2011 | Sums Of Powers: Use | Bernoulli numbers to quickly compute sums of powers | exercise solution codepad |
| 121 | 23 Mar 2010 | Texas Hold ‘Em: Find the | best poker hand | exercise solution codepad |
| 161 | 24 Aug 2010 | Daniel Shanks’ Square Form Factorization Algorithm: A simple and very fast factorization algorithm for integers | between 105 and 1020 | exercise solution codepad |
| 482 | 15 Oct 2013 | Find The Minimum Difference: Find the minimum difference | between any item from on list and any item from another list | exercise solution codepad |
| 407 | 15 Jan 2013 | Translate CSV To Html: Convert | between tabular storage forms | exercise solution codepad |
| 455 | 05 Jul 2013 | Weekdays Between Two Dates: Number of days | between two dates, excluding Saturday and Sunday | exercise solution codepad |
| 455 | 05 Jul 2013 | Weekdays | Between Two Dates: Number of days between two dates, excluding Saturday and Sunday | exercise solution codepad |
| 139 | 08 Jun 2010 | Diff: Find the differences | between two text files | exercise solution codepad |
| 262 | 12 Aug 2011 | Word Breaks: Insert spaces | between words: applepie => apple pie | exercise solution codepad |
| 115 | 02 Mar 2010 | Goldbach’s Conjecture: Every even number greater than two can | be written as the sum of two primes | exercise solution codepad |
| 76 | 13 Oct 2009 | Bifid: A simple but effective fractionating cipher, never used militarily | exercise solution codepad | |
| 413 | 08 Feb 2013 | The | Biggest Prime: Print all 17-million digits of the largest known prime number | exercise solution codepad |
| 251 | 05 Jul 2011 | Big Numbers: Examples: A library for | big integers: display factorials to 50, determine if a number is prime, and compute its prime factors | exercise solution codepad |
| 249 | 28 Jun 2011 | Big Numbers: Functions: A library for | big integers: gcd, powering, square root, random numbers | exercise solution codepad |
| 241 | 31 May 2011 | Big Numbers: Addition, Subtraction And Multiplication: A library for | big integers: grade-school algorithms for addition, subtraction, and multiplication | exercise solution codepad |
| 245 | 14 Jun 2011 | Big Numbers: Input And Output: A library for | big integers: input and output with radix conversion | exercise solution codepad |
| 239 | 24 May 2011 | Big Numbers: Getting Started: A library for | big integers: representation, comparison, simple functions | exercise solution codepad |
| 247 | 21 Jun 2011 | Big Numbers: Testing: A library for | big integers: testing | exercise solution codepad |
| 243 | 07 Jun 2011 | Big Numbers: Division: A library for | big integers: the grade-school algorithm for long division | exercise solution codepad |
| 241 | 31 May 2011 | Big Numbers: Addition, Subtraction And Multiplication: A library for big integers: grade-school algorithms for addition, subtraction, and multiplication | exercise solution codepad | |
| 243 | 07 Jun 2011 | Big Numbers: Division: A library for big integers: the grade-school algorithm for long division | exercise solution codepad | |
| 251 | 05 Jul 2011 | Big Numbers: Examples: A library for big integers: display factorials to 50, determine if a number is prime, and compute its prime factors | exercise solution codepad | |
| 249 | 28 Jun 2011 | Big Numbers: Functions: A library for big integers: gcd, powering, square root, random numbers | exercise solution codepad | |
| 239 | 24 May 2011 | Big Numbers: Getting Started: A library for big integers: representation, comparison, simple functions | exercise solution codepad | |
| 245 | 14 Jun 2011 | Big Numbers: Input And Output: A library for big integers: input and output with radix conversion | exercise solution codepad | |
| 247 | 21 Jun 2011 | Big Numbers: Testing: A library for big integers: testing | exercise solution codepad | |
| 350 | 22 Jun 2012 | Billboard Challenge, Part 1: First part of a Google recruiting challenge | exercise solution codepad | |
| 351 | 26 Jun 2012 | Billboard Challenge, Part 2: Second part of a Google recruiting challenge | exercise solution codepad | |
| 101 | 12 Jan 2010 | Calculating Sines: Calculate sines using Taylor series and the triple-angle formula, by | Bill Cruise | exercise solution codepad |
| 22 | 07 Apr 2009 | Flipping Pancakes: A sorting method analyzed by | Bill Gates | exercise solution codepad |
| 373 | 11 Sep 2012 | The Sum Of The First | Billion Primes: Write a prime generator, and use it | exercise solution codepad |
| 102 | 15 Jan 2010 | Three | Binary Algorithms: Multiplication, division and greatest common divisor using binary arithmetic | exercise solution codepad |
| 102 | 15 Jan 2010 | Three Binary Algorithms: Multiplication, division and greatest common divisor using | binary arithmetic | exercise solution codepad |
| 206 | 28 Jan 2011 | Population Count: Count the number of set bits (1-bits) in the | binary representation of an integer | exercise solution codepad |
| 18 | 23 Mar 2009 | Binary Search: A simple task, easy to get wrong | exercise solution codepad | |
| 116 | 05 Mar 2010 | Binary Search Tree: Classic data structure, providing insert, delete and lookup for ordered datatypes | exercise solution codepad | |
| 414 | 12 Feb 2013 | Binary Search Tree: In-Order Predecessor And Successor: Find the previous and next items in a tree | exercise solution codepad | |
| 218 | 11 Mar 2011 | Lowest Common Ancestor: Find the lowest node in a | binary search tree that is a common ancestor to two given nodes | exercise solution codepad |
| 422 | 12 Mar 2013 | An Array Of Two Symbols: A learning experience for | binary search | exercise solution codepad |
| 483 | 18 Oct 2013 | Binary Tree Traversal: Traverse a | binary tree in pre-order and post-order | exercise solution codepad |
| 483 | 18 Oct 2013 | Binary Tree Traversal: Traverse a binary tree in pre-order and post-order | exercise solution codepad | |
| 3 | 19 Feb 2009 | Bingo: Calculate the probability of winning at Bingo | exercise solution codepad | |
| 3 | 19 Feb 2009 | Bingo: Calculate the probability of winning at | Bingo | exercise solution codepad |
| 294 | 06 Dec 2011 | Pascal’s Triangle: Display the | binomial coefficients | exercise solution codepad |
| 345 | 05 Jun 2012 | Binomial Heaps: Another algorithm for maintaining priority queues | exercise solution codepad | |
| 381 | 12 Oct 2012 | Birthday Paradox: Use simulation to demonstrate the | birthday paradox | exercise solution codepad |
| 381 | 12 Oct 2012 | Birthday Paradox: Use simulation to demonstrate the birthday paradox | exercise solution codepad | |
| 233 | 03 May 2011 | Squaring The | Bishop: Charles Babbage’s game of word squares | exercise solution codepad |
| 464 | 09 Aug 2013 | Bit Hacks: A time-honored tradition, and useful | exercise solution codepad | |
| 467 | 20 Aug 2013 | More | Bit Hacks: A time-honored tradition, and useful | exercise solution codepad |
| 471 | 03 Sep 2013 | Yet More | Bit Hacks: A time-honored tradition, and useful | exercise solution codepad |
| 206 | 28 Jan 2011 | Population Count: Count the number of set | bits (1-bits) in the binary representation of an integer | exercise solution codepad |
| 268 | 02 Sep 2011 | Two String Exercises: Remove duplicate characters, and squish adjacent | blanks | exercise solution codepad |
| 164 | 03 Sep 2010 | Data Encryption Standard: Part 2: ECB, CBC, CFB and OFB block modes for DES and other | block ciphers | exercise solution codepad |
| 163 | 31 Aug 2010 | Data Encryption Standard: Part 1: Basic | block enciphering and deciphering using DES | exercise solution codepad |
| 164 | 03 Sep 2010 | Data Encryption Standard: Part 2: ECB, CBC, CFB and OFB | block modes for DES and other block ciphers | exercise solution codepad |
| 329 | 06 Apr 2012 | Voters: Watch voting | blocks migrate on the screen | exercise solution codepad |
| 46 | 30 Jun 2009 | Steve Yegge’s Phone-Screen Coding Exercises: A simple set of programming exercises based on a | blog entry by Steve Yegge | exercise solution codepad |
| 146 | 02 Jul 2010 | Contents: Chronological Listing Of Exercises: | Blog management | exercise solution codepad |
| 148 | 09 Jul 2010 | Contents: Permuted Table Of Contents: | Blog management | exercise solution codepad |
| 150 | 16 Jul 2010 | Contents: Themes: | Blog Management | exercise solution codepad |
| 26 | 21 Apr 2009 | Probabilistic Spell Checking: A probabilistic spell-checker based on a | Bloom filter | exercise solution codepad |
| 370 | 31 Aug 2012 | Once In A | Blue Moon: Find months with two full moons | exercise solution codepad |
| 60 | 18 Aug 2009 | Blum Blum Shub: Stream cipher based on a cryptographically secure pseudo-random number generator | exercise solution codepad | |
| 60 | 18 Aug 2009 | Blum | Blum Shub: Stream cipher based on a cryptographically secure pseudo-random number generator | exercise solution codepad |
| 470 | 30 Aug 2013 | BMI Calculator: Calculate a person’s body mass index | exercise solution codepad | |
| 421 | 08 Mar 2013 | Knight Moves: Move a knight around a chess | board | exercise solution codepad |
| 229 | 19 Apr 2011 | Same Five Digits: A math puzzle from New Scientist, solved by guest author | Bob Miller | exercise solution codepad |
| 58 | 11 Aug 2009 | Uncle | Bob’s Bowling Game Kata: Use pattern-matching on lists to solve a classic object-oriented programming exercise | exercise solution codepad |
| 470 | 30 Aug 2013 | BMI Calculator: Calculate a person’s | body mass index | exercise solution codepad |
| 237 | 17 May 2011 | Two Bad Sorts: Stooge sort and | bogosort are worse than quadratic | exercise solution codepad |
| 33 | 15 May 2009 | Cellular Automata: Linear cellular automata as described by Stephen Wolfram in his | book A New Kind of Science | exercise solution codepad |
| 238 | 20 May 0 | ISBN Validation: Validate ISBN | book numbers, and fetch author and title from the internet | exercise solution codepad |
| 431 | 12 Apr 2013 | Booth’s Algorithm: Determine of two cyclic lists are equal | exercise solution codepad | |
| 304 | 10 Jan 2012 | Thirteen Anagram: 12+1=11+2 and “twelve plus one equals eleven plus two” are | both anagrams | exercise solution codepad |
| 477 | 27 Sep 2013 | Double-Ended Priority Queues: Priority queues that permit access at | both ends | exercise solution codepad |
| 313 | 10 Feb 2012 | Search In An Ascending Matrix: Find a number in a matrix where | both rows and columns are sorted in ascending order | exercise solution codepad |
| 260 | 05 Aug 2011 | Ninety-Nine | Bottles Of Beer: The popular song | exercise solution codepad |
| 349 | 19 Jun 2012 | Digits Of E: Two algorithms that compute the digits of e, one | bounded, the other unbounded | exercise solution codepad |
| 58 | 11 Aug 2009 | Uncle Bob’s | Bowling Game Kata: Use pattern-matching on lists to solve a classic object-oriented programming exercise | exercise solution codepad |
| 63 | 28 Aug 2009 | String Search: | Boyer-Moore: Search for a pattern in a text using a fast and simple algorithm | exercise solution codepad |
| 277 | 04 Oct 2011 | Brainfuck: Interpreter for a Turing-line language | exercise solution codepad | |
| 262 | 12 Aug 2011 | Word | Breaks: Insert spaces between words: applepie => apple pie | exercise solution codepad |
| 28 | 28 Apr 2009 | Morse Code: Translating the dots-and-dashes of Samuel Finley | Breese Morse’s telegraph code | exercise solution codepad |
| 204 | 21 Jan 0 | Pollard Rho, Revisited: Richard | Brent’s variant of John Pollard’s rho algorithm for integer factorization | exercise solution codepad |
| 357 | 17 Jul 2012 | Breshenham’s Line-Drawing Algorithm: Draw straight lines using raster graphics | exercise solution codepad | |
| 445 | 31 May 2013 | The Seven | Bridges of Königsberg: A classic graph puzzle due to Leonhard Euler | exercise solution codepad |
| 167 | 14 Sep 2010 | The Factorization Of F7: Part 1: Our fortieth anniversary celebration of Morrison and | Brillhart’s method of integer factorization by continued fractions | exercise solution codepad |
| 168 | 17 Sep 2010 | The Factorization Of F7: Part 2: Our fortieth anniversary celebration of Morrison and | Brillhart’s method of integer factorization by continued fractions | exercise solution codepad |
| 203 | 18 Jan 2011 | Solitaire Cipher: | Bruce Schneier’s strong cryptography based on a deck of playing cards | exercise solution codepad |
| 118 | 12 Mar 2010 | Traveling Salesman: | Brute Force: Examine all possible permutations to find the least-cost tour | exercise solution codepad |
| 61 | 21 Aug 2009 | String Search: | Brute Force: Search for a pattern in a text by comparing the pattern to the text at all possible positions | exercise solution codepad |
| 80 | 27 Oct 2009 | Three Quadratic Sorts: | Bubble sort, selection sort and insertion sort | exercise solution codepad |
| 423 | 15 Mar 2013 | Buffon’s Needle: Compute the value of π with a simulation | exercise solution codepad | |
| 435 | 26 Apr 2013 | Correct Horse Battery Staple, Improved: Fix a horrible | bug in the original version | exercise solution codepad |
| 356 | 13 Jul 2012 | The Evolution Of Flibs: Use genetic programming to | build a finite state machine | exercise solution codepad |
| 39 | 05 Jun 2009 | Ternary Search Tries: | Build a function library for handling ternary search tries | exercise solution codepad |
| 129 | 20 Apr 2010 | 145 Puzzle: | Build and evaluate expressions using the digits one through nine and the simple arithmetic operators | exercise solution codepad |
| 401 | 21 Dec 2012 | Building Primes: Build the largest prime with all right-most subsequences also prime | exercise solution codepad | |
| 119 | 16 Mar 2010 | Traveling Salesman: Nearest Neighbor: A greedy heuristic that | builds a path by always choosing the nearest unvisited point | exercise solution codepad |
| 401 | 21 Dec 2012 | Building Primes: | Build the largest prime with all right-most subsequences also prime | exercise solution codepad |
| 461 | 30 Jul 2013 | Who | Buys The Croissants?: Simulate an important Friday-morning question | exercise solution codepad |
| 6 | 20 Feb 2009 | ROT13: A simple | Caesar-shift cipher | exercise solution codepad |
| 32 | 12 May 2009 | Loan Amortization: | Calculate and print a simple loan amortization table | exercise solution codepad |
| 470 | 30 Aug 2013 | BMI Calculator: | Calculate a person’s body mass index | exercise solution codepad |
| 219 | 15 Mar 2011 | Look And Say: | Calculate John Horton Conway’s "Look and Say" sequence | exercise solution codepad |
| 479 | 04 Oct 2013 | Calculating Statistics: Read a file of integers and | calculate mean, median and mode | exercise solution codepad |
| 101 | 12 Jan 2010 | Calculating Sines: | Calculate sines using Taylor series and the triple-angle formula, by Bill Cruise | exercise solution codepad |
| 433 | 19 Apr 2013 | Integer Roots: | Calculate square roots and higher roots in integer arithmetic | exercise solution codepad |
| 95 | 18 Dec 2009 | Calculating Logarithms: Use the methods of Newton and Euler to | calculate square roots and logarithms | exercise solution codepad |
| 123 | 30 Mar 2010 | Passover: | Calculate the dates of the Jewish holidays Rosh Hashanah and Passover | exercise solution codepad |
| 174 | 08 Oct 2010 | Zeller’s Congruence: | Calculate the day of the week for a given date | exercise solution codepad |
| 248 | 24 Jun 2011 | Thank God It’s Friday!: Three methods to | calculate the day of the week | exercise solution codepad |
| 8 | 20 Feb 2009 | The Digits of Pi: A spigot algorithm to | calculate the digits of pi | exercise solution codepad |
| 376 | 21 Sep 2012 | Autumn Equinox: | Calculate the length of the day; provides a time-handling library | exercise solution codepad |
| 275 | 27 Sep 2011 | Statistics: | Calculate the mean, standard deviation, linear regression and correlation | exercise solution codepad |
| 104 | 22 Jan 2010 | Phases Of The Moon: | Calculate the number of days since the last new moon | exercise solution codepad |
| 228 | 15 Apr 2011 | Partition Numbers: | Calculate the partition numbers, using memoization via growing arrays | exercise solution codepad |
| 3 | 19 Feb 2009 | Bingo: | Calculate the probability of winning at Bingo | exercise solution codepad |
| 399 | 14 Dec 2012 | 115132219018763992565095597973971522401: | Calculate the sequence of narcissistic numbers | exercise solution codepad |
| 88 | 24 Nov 2009 | Sunrise, Sunset: | Calculate the times of sunrise and sunset on any day anywhere in the world | exercise solution codepad |
| 75 | 09 Oct 2009 | Calculating Pi: | Calculate the value of π by monte-carlo methods and by an Archimedean method | exercise solution codepad |
| 95 | 18 Dec 2009 | Calculating Logarithms: Use the methods of Newton and Euler to calculate square roots and logarithms | exercise solution codepad | |
| 478 | 01 Oct 2013 | Lucas Sequences: Fast methods for | calculating Lucas sequences, similar to Fibonacci sequences | exercise solution codepad |
| 75 | 09 Oct 2009 | Calculating Pi: Calculate the value of π by monte-carlo methods and by an Archimedean method | exercise solution codepad | |
| 101 | 12 Jan 2010 | Calculating Sines: Calculate sines using Taylor series and the triple-angle formula, by Bill Cruise | exercise solution codepad | |
| 479 | 04 Oct 2013 | Calculating Statistics: Read a file of integers and calculate mean, median and mode | exercise solution codepad | |
| 305 | 13 Jan 2012 | Excel’s XIRR Function: Numerical | calculation of a derivative | exercise solution codepad |
| 256 | 22 Jul 2011 | Counting Primes Using Legendre’s Formula: Recreate Legendre’s two-century old | calculation of the number of primes less than a million | exercise solution codepad |
| 53 | 24 Jul 2009 | Let’s Make A Deal!: Simulate a tricky probability | calculation | exercise solution codepad |
| 470 | 30 Aug 2013 | BMI | Calculator: Calculate a person’s body mass index | exercise solution codepad |
| 1 | 19 Feb 2009 | RPN | Calculator: Evaluate numeric expressions at the command line | exercise solution codepad |
| 15 | 13 Mar 2009 | Friday, the Thirteenth: A small | calendar library, and a simple use of it | exercise solution codepad |
| 98 | 01 Jan 2010 | Cal: Print a twelve-month | calendar | exercise solution codepad |
| 98 | 01 Jan 2010 | Cal: Print a twelve-month calendar | exercise solution codepad | |
| 377 | 28 Sep 2012 | Pocklington’s N−1 Primality Prover: Prove n prime if n−1 | can be partially factored | exercise solution codepad |
| 115 | 02 Mar 2010 | Goldbach’s Conjecture: Every even number greater than two | can be written as the sum of two primes | exercise solution codepad |
| 484 | 22 Oct 2013 | David Gries’ Coffee | Can Problem: Simulate the process of extracting beans from a coffee can | exercise solution codepad |
| 466 | 16 Aug 2013 | Monkey Grid Puzzle: How many points | can the monkey access? | exercise solution codepad |
| 287 | 11 Nov 2011 | Generators: Write functions that yield a value, but | can then be re-entered | exercise solution codepad |
| 484 | 22 Oct 2013 | David Gries’ Coffee Can Problem: Simulate the process of extracting beans from a coffee | can | exercise solution codepad |
| 415 | 15 Feb 2013 | Facebook Hacker Cup 2013, Round 1, Problem 1: Count the ways to win a | card game | exercise solution codepad |
| 203 | 18 Jan 2011 | Solitaire Cipher: Bruce Schneier’s strong cryptography based on a deck of playing | cards | exercise solution codepad |
| 226 | 08 Apr 2011 | Credit | Card Validation: Validate decimal numbers using the Luhn algorithm | exercise solution codepad |
| 155 | 03 Aug 2010 | Carl Hewitt’s Same-Fringe Problem: Do two trees have the same leaves, solved with streams (lazy lists) | exercise solution codepad | |
| 43 | 19 Jun 2009 | Monte | Carlo Factorization: Integer factorization via Pollard’s rho algorithm | exercise solution codepad |
| 197 | 28 Dec 2010 | Carmichael Numbers: Composite numbers such that an-1 ≡ 1 (mod n) if a is prime to n | exercise solution codepad | |
| 250 | 01 Jul 2011 | Feet And Inches: Convert decimal inches to | carpenters’ fractions | exercise solution codepad |
| 472 | 06 Sep 2013 | Cartesian Product: Cross-product of the items in a variable-length list of variable-length lists | exercise solution codepad | |
| 475 | 20 Sep 2013 | McCarthy’s 91 Function: A recursive function designed as a test | case for formal verification | exercise solution codepad |
| 346 | 08 Jun 2012 | Cat: The Unix V7 utility to | catenate and print | exercise solution codepad |
| 346 | 08 Jun 2012 | Cat: The Unix V7 utility to catenate and print | exercise solution codepad | |
| 164 | 03 Sep 2010 | Data Encryption Standard: Part 2: ECB, | CBC, CFB and OFB block modes for DES and other block ciphers | exercise solution codepad |
| 416 | 19 Feb 2013 | NPR Sunday Puzzle: Find two words containing the letters a, b, | c, d, e and f | exercise solution codepad |
| 400 | 18 Dec 2012 | Petals Around The Rose: A game to | celebrate our 400th exercise | exercise solution codepad |
| 427 | 29 Mar 2013 | One Million Hits: | Celebrating our one-millionth hit! | exercise solution codepad |
| 167 | 14 Sep 2010 | The Factorization Of F7: Part 1: Our fortieth anniversary | celebration of Morrison and Brillhart’s method of integer factorization by continued fractions | exercise solution codepad |
| 168 | 17 Sep 2010 | The Factorization Of F7: Part 2: Our fortieth anniversary | celebration of Morrison and Brillhart’s method of integer factorization by continued fractions | exercise solution codepad |
| 33 | 15 May 2009 | Cellular Automata: Linear | cellular automata as described by Stephen Wolfram in his book A New Kind of Science | exercise solution codepad |
| 33 | 15 May 2009 | Cellular Automata: Linear cellular automata as described by Stephen Wolfram in his book A New Kind of Science | exercise solution codepad | |
| 232 | 29 Apr 2011 | Rule 30 RNG: The random number generator from Mathematica, based on Stephen Wolfram’s Rule 30 | cellular automata | exercise solution codepad |
| 333 | 20 Apr 2012 | John Horton Conway’s Game Of Life: The classic | cellular automata | exercise solution codepad |
| 372 | 07 Sep 2012 | The First Two Programs: Hello World and a fahrenheit | / celsius conversion table | exercise solution codepad |
| 372 | 07 Sep 2012 | The First Two Programs: Hello World and a fahrenheit / | celsius conversion table | exercise solution codepad |
| 164 | 03 Sep 2010 | Data Encryption Standard: Part 2: ECB, CBC, | CFB and OFB block modes for DES and other block ciphers | exercise solution codepad |
| 368 | 24 Aug 2012 | Hash Tables With Open Addressing: An alternative to hash tables with | chaining for collision resolution | exercise solution codepad |
| 353 | 03 Jul 2012 | Chopping Words: Form a | chain of words by removing letters one at a time | exercise solution codepad |
| 221 | 22 Mar 2011 | Two Kaprekar Exercises: Kaprekar | chains and Kaprekar numbers, from the Indian mathematician Dattaraya Ramchandra Kaprekar | exercise solution codepad |
| 11 | 27 Feb 2009 | Mark V. Shaney: Generate parodies of a text using a Markov | chain | exercise solution codepad |
| 350 | 22 Jun 2012 | Billboard | Challenge, Part 1: First part of a Google recruiting challenge | exercise solution codepad |
| 351 | 26 Jun 2012 | Billboard | Challenge, Part 2: Second part of a Google recruiting challenge | exercise solution codepad |
| 350 | 22 Jun 2012 | Billboard Challenge, Part 1: First part of a Google recruiting | challenge | exercise solution codepad |
| 351 | 26 Jun 2012 | Billboard Challenge, Part 2: Second part of a Google recruiting | challenge | exercise solution codepad |
| 183 | 09 Nov 2010 | Subset Sums: Third level of the Greplin Programming | Challenge, using dynamic programming and memoization | exercise solution codepad |
| 417 | 22 Feb 2013 | Floupia: Make | change in a strange currency | exercise solution codepad |
| 441 | 17 May 2013 | Coin | Change, Part 1: Classic problem to count the ways to make change | exercise solution codepad |
| 442 | 21 May 2013 | Coin | Change, Part 2: A variant on the classic coin change problem | exercise solution codepad |
| 443 | 24 May 2013 | Coin | Change, Part 3: Another variant on the classic coin change problem | exercise solution codepad |
| 442 | 21 May 2013 | Coin Change, Part 2: A variant on the classic coin | change problem | exercise solution codepad |
| 443 | 24 May 2013 | Coin Change, Part 3: Another variant on the classic coin | change problem | exercise solution codepad |
| 331 | 13 Apr 2012 | McNugget Numbers, Revisited: The classic coin problem in disguise, how to count the number of ways to make | change | exercise solution codepad |
| 441 | 17 May 2013 | Coin Change, Part 1: Classic problem to count the ways to make | change | exercise solution codepad |
| 371 | 04 Sep 2012 | Fountain Codes: Transmit files over a lossy | channel | exercise solution codepad |
| 473 | 12 Sep 2013 | Diffie Hellman Key Exchange: Manage secure exchanges on an insecure communications | channel | exercise solution codepad |
| 342 | 22 May 2012 | Hamming Codes: Send messages over a noisy | channel without error | exercise solution codepad |
| 147 | 06 Jul 2010 | Chaocipher: First look at a ninety-two year old autokey-type cipher | exercise solution codepad | |
| 264 | 19 Aug 2011 | First Non-Repeating | Character: Find the first character in a string that doesn’t repeat later in the string | exercise solution codepad |
| 317 | 24 Feb 2012 | Remove Characters From A String: Remove from one string any | character in a second string | exercise solution codepad |
| 436 | 30 Apr 2013 | First Unrepeated | Character In A String: Find the first character that appears only once in a string | exercise solution codepad |
| 264 | 19 Aug 2011 | First Non-Repeating Character: Find the first | character in a string that doesn’t repeat later in the string | exercise solution codepad |
| 268 | 02 Sep 2011 | Two String Exercises: Remove duplicate | characters, and squish adjacent blanks | exercise solution codepad |
| 317 | 24 Feb 2012 | Remove | Characters From A String: Remove from one string any character in a second string | exercise solution codepad |
| 159 | 17 Aug 2010 | Cut: Select fields or | characters from input lines | exercise solution codepad |
| 448 | 11 Jun 2013 | Longest Substring Of Two Unique Characters: Longest run of consecutive | characters in a string that contains only two unique characters | exercise solution codepad |
| 448 | 11 Jun 2013 | Longest Substring Of Two Unique | Characters: Longest run of consecutive characters in a string that contains only two unique characters | exercise solution codepad |
| 448 | 11 Jun 2013 | Longest Substring Of Two Unique Characters: Longest run of consecutive characters in a string that contains only two unique | characters | exercise solution codepad |
| 436 | 30 Apr 2013 | First Unrepeated Character In A String: Find the first | character that appears only once in a string | exercise solution codepad |
| 209 | 08 Feb 2011 | The First Computer Program: Ada Lovelace’s program to compute Bernoulli numbers for | Charles Babbage’s Analytical Engine | exercise solution codepad |
| 233 | 03 May 2011 | Squaring The Bishop: | Charles Babbage’s game of word squares | exercise solution codepad |
| 300 | 27 Dec 2011 | Cheating Hangman: A version of Hangman that nearly always wins | exercise solution codepad | |
| 106 | 29 Jan 2010 | Straddling | Checkerboard: An alternative to the Polybius square for ciphers that must convert letters to digits | exercise solution codepad |
| 29 | 01 May 2009 | Primality Checking: A probabilistic primality | checker by Gary Miller and Michael Rabin | exercise solution codepad |
| 180 | 29 Oct 2010 | Fibonacci Primes: Find primes among the fibonacci numbers; includes the Park-Miller random number generator and Miller-Rabin primality | checker | exercise solution codepad |
| 29 | 01 May 2009 | Primality | Checking: A probabilistic primality checker by Gary Miller and Michael Rabin | exercise solution codepad |
| 26 | 21 Apr 2009 | Probabilistic Spell | Checking: A probabilistic spell-checker based on a Bloom filter | exercise solution codepad |
| 25 | 17 Apr 2009 | Spell | Checking: A spell-checker in a trie-based dictionary | exercise solution codepad |
| 107 | 02 Feb 2010 | Proving Primality: A deterministic, not probabilistic, method of | checking primality | exercise solution codepad |
| 105 | 26 Jan 2010 | Primality | Checking, Revisited: The Baillie-Wagstaff algorithm for primality checking | exercise solution codepad |
| 105 | 26 Jan 2010 | Primality Checking, Revisited: The Baillie-Wagstaff algorithm for primality | checking | exercise solution codepad |
| 282 | 25 Oct 2011 | Cksum: Unix | checksum utility | exercise solution codepad |
| 421 | 08 Mar 2013 | Knight Moves: Move a knight around a | chess board | exercise solution codepad |
| 306 | 17 Jan 2012 | Guess The Number: Number-guessing game for | children learning arithmetic | exercise solution codepad |
| 198 | 31 Dec 2010 | Arithmetic Drill: Repetitious drill for | children learning basic arithmetic | exercise solution codepad |
| 38 | 02 Jun 2009 | Pig Latin: A simple exercise to solve a | children’s game | exercise solution codepad |
| 216 | 04 Mar 2011 | Chutes And Ladders: Simulate a | child’s game, and compute its statistics | exercise solution codepad |
| 162 | 27 Aug 2010 | Chinese Remainders: An ancient application of modular inverses | exercise solution codepad | |
| 144 | 25 Jun 2010 | Learn A New Language: Solve the exercise of your | choice in an unfamiliar language | exercise solution codepad |
| 316 | 21 Feb 2012 | Learn A New Language: Solve the exercise of your | choice in an unfamiliar language | exercise solution codepad |
| 119 | 16 Mar 2010 | Traveling Salesman: Nearest Neighbor: A greedy heuristic that builds a path by always | choosing the nearest unvisited point | exercise solution codepad |
| 353 | 03 Jul 2012 | Chopping Words: Form a chain of words by removing letters one at a time | exercise solution codepad | |
| 171 | 28 Sep 2010 | Maxiphobic Heaps: A priority-queue data structure, similar to leftist heaps, due to | Chris Okasaki | exercise solution codepad |
| 402 | 25 Dec 2012 | The Twelve Days of | Christmas: Count the gifts of Christmas | exercise solution codepad |
| 402 | 25 Dec 2012 | The Twelve Days of Christmas: Count the gifts of | Christmas | exercise solution codepad |
| 146 | 02 Jul 2010 | Contents: | Chronological Listing Of Exercises: Blog management | exercise solution codepad |
| 449 | 14 Jun 2013 | The Digits of Pi, Again: | Chudnovsky’s algorithm for the digits of pi | exercise solution codepad |
| 216 | 04 Mar 2011 | Chutes And Ladders: Simulate a child’s game, and compute its statistics | exercise solution codepad | |
| 65 | 04 Sep 2009 | Ron’s | Cipher #4: Stream cipher by Ron Rivest that underlies the SSL and WEP protocols | exercise solution codepad |
| 47 | 03 Jul 2009 | The Playfair | Cipher: A classic military field cipher | exercise solution codepad |
| 94 | 15 Dec 2009 | Affine-Shift | Cipher: A cryptographically weak but mathematically interesting cipher | exercise solution codepad |
| 37 | 29 May 2009 | Double Transposition | Cipher: A simple and effective cipher, easy to perform by hand | exercise solution codepad |
| 20 | 31 Mar 2009 | Rail-Fence | Cipher: A simple transposition cipher | exercise solution codepad |
| 60 | 18 Aug 2009 | Blum Blum Shub: Stream | cipher based on a cryptographically secure pseudo-random number generator | exercise solution codepad |
| 203 | 18 Jan 2011 | Solitaire | Cipher: Bruce Schneier’s strong cryptography based on a deck of playing cards | exercise solution codepad |
| 65 | 04 Sep 2009 | Ron’s Cipher #4: Stream | cipher by Ron Rivest that underlies the SSL and WEP protocols | exercise solution codepad |
| 37 | 29 May 2009 | Double Transposition Cipher: A simple and effective | cipher, easy to perform by hand | exercise solution codepad |
| 57 | 07 Aug 2009 | ADFGX: A classic German military field | cipher from the First World War | exercise solution codepad |
| 91 | 04 Dec 2009 | Autokey: A | cipher in which the input text forms part of the key | exercise solution codepad |
| 320 | 06 Mar 2012 | Union Route | Cipher: Military cipher used successfully by Union forces in the American Civil War | exercise solution codepad |
| 76 | 13 Oct 2009 | Bifid: A simple but effective fractionating | cipher, never used militarily | exercise solution codepad |
| 106 | 29 Jan 2010 | Straddling Checkerboard: An alternative to the Polybius square for | ciphers that must convert letters to digits | exercise solution codepad |
| 164 | 03 Sep 2010 | Data Encryption Standard: Part 2: ECB, CBC, CFB and OFB block modes for DES and other block | ciphers | exercise solution codepad |
| 12 | 03 Mar 2009 | Creation: Cryptanalysis of a Vigenère | cipher | exercise solution codepad |
| 147 | 06 Jul 2010 | Chaocipher: First look at a ninety-two year old autokey-type | cipher | exercise solution codepad |
| 20 | 31 Mar 2009 | Rail-Fence Cipher: A simple transposition | cipher | exercise solution codepad |
| 47 | 03 Jul 2009 | The Playfair Cipher: A classic military field | cipher | exercise solution codepad |
| 50 | 14 Jul 2009 | The Daily Cryptogram: Solve a monoalphabetic substitution | cipher | exercise solution codepad |
| 6 | 20 Feb 2009 | ROT13: A simple Caesar-shift | cipher | exercise solution codepad |
| 94 | 15 Dec 2009 | Affine-Shift Cipher: A cryptographically weak but mathematically interesting | cipher | exercise solution codepad |
| 320 | 06 Mar 2012 | Union Route Cipher: Military | cipher used successfully by Union forces in the American Civil War | exercise solution codepad |
| 320 | 06 Mar 2012 | Union Route Cipher: Military cipher used successfully by Union forces in the American | Civil War | exercise solution codepad |
| 282 | 25 Oct 2011 | Cksum: Unix checksum utility | exercise solution codepad | |
| 111 | 16 Feb 2010 | Soundex: An algorithm to assign people’s last names to equivalence | classes based on similar spelling | exercise solution codepad |
| 140 | 11 Jun 2010 | N-Queens: Our version of a | classic algorithmic exercise | exercise solution codepad |
| 333 | 20 Apr 2012 | John Horton Conway’s Game Of Life: The | classic cellular automata | exercise solution codepad |
| 442 | 21 May 2013 | Coin Change, Part 2: A variant on the | classic coin change problem | exercise solution codepad |
| 443 | 24 May 2013 | Coin Change, Part 3: Another variant on the | classic coin change problem | exercise solution codepad |
| 331 | 13 Apr 2012 | McNugget Numbers, Revisited: The | classic coin problem in disguise, how to count the number of ways to make change | exercise solution codepad |
| 447 | 07 Jun 2013 | Sets: A | classic data structure and associated algorithms | exercise solution codepad |
| 116 | 05 Mar 2010 | Binary Search Tree: | Classic data structure, providing insert, delete and lookup for ordered datatypes | exercise solution codepad |
| 96 | 22 Dec 2009 | Permuted Index: David Parnas’ | classic deconstruction of the keyword-in-context index | exercise solution codepad |
| 279 | 11 Oct 2011 | Tower Of Hanoi: | Classic demonstration of recursion | exercise solution codepad |
| 57 | 07 Aug 2009 | ADFGX: A | classic German military field cipher from the First World War | exercise solution codepad |
| 445 | 31 May 2013 | The Seven Bridges of Königsberg: A | classic graph puzzle due to Leonhard Euler | exercise solution codepad |
| 47 | 03 Jul 2009 | The Playfair Cipher: A | classic military field cipher | exercise solution codepad |
| 327 | 30 Mar 2012 | Subset Sum, Meet In The Middle: An improved solution to the | classic NP problem | exercise solution codepad |
| 326 | 27 Mar 2012 | Subset Sum: Solve a | classic NP problem using dynamic programming | exercise solution codepad |
| 58 | 11 Aug 2009 | Uncle Bob’s Bowling Game Kata: Use pattern-matching on lists to solve a | classic object-oriented programming exercise | exercise solution codepad |
| 450 | 18 Jun 2013 | 3SUM: A | classic of computer science: find three numbers in an array that sum to zero | exercise solution codepad |
| 361 | 31 Jul 2012 | SEND + MORE = MONEY, Part 1: Two slow solutions to a | classic problem of recreational mathematics | exercise solution codepad |
| 362 | 03 Aug 2012 | SEND + MORE = MONEY, Part 2: Two hill-climbing solutions to a | classic problem of recreational mathematics | exercise solution codepad |
| 293 | 02 Dec 2011 | Knight Rider: | Classic problem of the knight’s tour | exercise solution codepad |
| 267 | 30 Aug 2011 | Hamming Numbers: List the numbers with no factors greater than 5, a | classic problem popularized by Dijkstra | exercise solution codepad |
| 441 | 17 May 2013 | Coin Change, Part 1: | Classic problem to count the ways to make change | exercise solution codepad |
| 40 | 09 Jun 2009 | Longest Common Subsequence: A | classic programming algorithm, with a solution that dates to folklore | exercise solution codepad |
| 190 | 03 Dec 2010 | Maximum Sum Subsequence: A | classic programming exercise due to Jon Bentley | exercise solution codepad |
| 64 | 01 Sep 2009 | String Search: Rabin-Karp: Our final | classic string-search algorithm | exercise solution codepad |
| 420 | 05 Mar 2013 | Dutch National Flag: | Classic ternary sort by Edsgar Dijkstra | exercise solution codepad |
| 14 | 10 Mar 2009 | Word Frequencies: Our interpretation of a problem solved by a | classic unix pipeline | exercise solution codepad |
| 71 | 25 Sep 2009 | Grep: Simple version of the | classic unix regular-expression matching utility | exercise solution codepad |
| 363 | 07 Aug 2012 | Make: The | classic Unix utility for managing file dependencies | exercise solution codepad |
| 298 | 20 Dec 2011 | Hangman: | Classic Unix V7 game for guessing words | exercise solution codepad |
| 408 | 18 Jan 2013 | Triangle Trilemma: Determine if three points form a triangle, and | classify it | exercise solution codepad |
| 410 | 25 Jan 2013 | Imperative Heaps: The | classing implementation of priority queues embedded in an array | exercise solution codepad |
| 321 | 09 Mar 2012 | Sparse Sets: | Clever data structure for storing sparse sets of small integers | exercise solution codepad |
| 369 | 28 Aug 2012 | Random Access Lists: A | clever data structure that provides O(log n) access to items in a sequential list, along with cons, head and tail | exercise solution codepad |
| 394 | 27 Nov 2012 | Amazon Interview Question: Find the hundred points of a million | closest to the origin | exercise solution codepad |
| 67 | 11 Sep 2009 | Beautiful | Code: A simple regular-expression matcher by Rob Pike | exercise solution codepad |
| 308 | 24 Jan 2012 | A Dozen Lines Of | Code: Do something cool in a small space | exercise solution codepad |
| 364 | 10 Aug 2012 | Minimum Scalar Product: A simple exercise from the practice round of Google | Code Jam 2008 | exercise solution codepad |
| 426 | 26 Mar 2013 | Code Jam Qualification Round Africa 2010, Revisited: Four solutions to a Google programming exercise, with various time complexities | exercise solution codepad | |
| 211 | 15 Feb 2011 | Code Jam Qualification Round Africa 2010: Three simple exercises | exercise solution codepad | |
| 170 | 24 Sep 2010 | Alien Numbers: An exercise from Google | Code Jam | exercise solution codepad |
| 342 | 22 May 2012 | Hamming | Codes: Send messages over a noisy channel without error | exercise solution codepad |
| 371 | 04 Sep 2012 | Fountain | Codes: Transmit files over a lossy channel | exercise solution codepad |
| 28 | 28 Apr 2009 | Morse | Code: Translating the dots-and-dashes of Samuel Finley Breese Morse’s telegraph code | exercise solution codepad |
| 173 | 05 Oct 2010 | George Marsaglia’s Random Number Generators: Nine high-quality RNGs in nineteen lines of | code | exercise solution codepad |
| 28 | 28 Apr 2009 | Morse Code: Translating the dots-and-dashes of Samuel Finley Breese Morse’s telegraph | code | exercise solution codepad |
| 46 | 30 Jun 2009 | Steve Yegge’s Phone-Screen | Coding Exercises: A simple set of programming exercises based on a blog entry by Steve Yegge | exercise solution codepad |
| 294 | 06 Dec 2011 | Pascal’s Triangle: Display the binomial | coefficients | exercise solution codepad |
| 484 | 22 Oct 2013 | David Gries’ | Coffee Can Problem: Simulate the process of extracting beans from a coffee can | exercise solution codepad |
| 484 | 22 Oct 2013 | David Gries’ Coffee Can Problem: Simulate the process of extracting beans from a | coffee can | exercise solution codepad |
| 441 | 17 May 2013 | Coin Change, Part 1: Classic problem to count the ways to make change | exercise solution codepad | |
| 442 | 21 May 2013 | Coin Change, Part 2: A variant on the classic coin change problem | exercise solution codepad | |
| 443 | 24 May 2013 | Coin Change, Part 3: Another variant on the classic coin change problem | exercise solution codepad | |
| 442 | 21 May 2013 | Coin Change, Part 2: A variant on the classic | coin change problem | exercise solution codepad |
| 443 | 24 May 2013 | Coin Change, Part 3: Another variant on the classic | coin change problem | exercise solution codepad |
| 331 | 13 Apr 2012 | McNugget Numbers, Revisited: The classic | coin problem in disguise, how to count the number of ways to make change | exercise solution codepad |
| 315 | 17 Feb 2012 | Hailstones: Examine the | Collatz sequence | exercise solution codepad |
| 368 | 24 Aug 2012 | Hash Tables With Open Addressing: An alternative to hash tables with chaining for | collision resolution | exercise solution codepad |
| 208 | 04 Feb 2011 | Excel Columns: Numbers as in Excel | column names, A=1, Z=26, IV=256 | exercise solution codepad |
| 313 | 10 Feb 2012 | Search In An Ascending Matrix: Find a number in a matrix where both rows and | columns are sorted in ascending order | exercise solution codepad |
| 208 | 04 Feb 2011 | Excel | Columns: Numbers as in Excel column names, A=1, Z=26, IV=256 | exercise solution codepad |
| 340 | 15 May 2012 | Streaming Knapsack: Find first possible | combination from a stream that sums to a given integer | exercise solution codepad |
| 244 | 10 Jun 2011 | Steganography: A hand-operable system that | combines cryptography and steganography | exercise solution codepad |
| 132 | 30 Apr 2010 | Integer Factorization: | Combine trial division, Pollard’s rho and p−1 methods, and elliptic curves into a single factorization program | exercise solution codepad |
| 81 | 30 Oct 2009 | Two Sub-Quadratic Sorts: | Comb sort and shell sort | exercise solution codepad |
| 160 | 20 Aug 0 | Marriage Sort: A sub-quadratic sort similar to shell sort or | comb sort | exercise solution codepad |
| 142 | 18 Jun 0 | Parsing | Command-Line Arguments: An old-style getopt function | exercise solution codepad |
| 1 | 19 Feb 2009 | RPN Calculator: Evaluate numeric expressions at the | command line | exercise solution codepad |
| 222 | 25 Mar 2011 | Sum: The standard Unix V7 file-checksum | command | exercise solution codepad |
| 281 | 21 Oct 2011 | Sum, Revisited: SysV and Berkeley versions of the Unix V7 sum | command | exercise solution codepad |
| 16 | 17 Mar 2009 | Comma-Separated Values: Retrieve records from a | comma-separated values file using a finite-state machine | exercise solution codepad |
| 16 | 17 Mar 2009 | Comma-Separated Values: Retrieve records from a comma-separated values file using a finite-state machine | exercise solution codepad | |
| 218 | 11 Mar 2011 | Lowest | Common Ancestor: Find the lowest node in a binary search tree that is a common ancestor to two given nodes | exercise solution codepad |
| 218 | 11 Mar 2011 | Lowest Common Ancestor: Find the lowest node in a binary search tree that is a | common ancestor to two given nodes | exercise solution codepad |
| 102 | 15 Jan 2010 | Three Binary Algorithms: Multiplication, division and greatest | common divisor using binary arithmetic | exercise solution codepad |
| 40 | 09 Jun 2009 | Longest | Common Subsequence: A classic programming algorithm, with a solution that dates to folklore | exercise solution codepad |
| 235 | 10 May 2011 | Comm: select or reject lines | common to two sorted files | exercise solution codepad |
| 235 | 10 May 2011 | Comm: select or reject lines common to two sorted files | exercise solution codepad | |
| 473 | 12 Sep 2013 | Diffie Hellman Key Exchange: Manage secure exchanges on an insecure | communications channel | exercise solution codepad |
| 61 | 21 Aug 2009 | String Search: Brute Force: Search for a pattern in a text by | comparing the pattern to the text at all possible positions | exercise solution codepad |
| 205 | 25 Jan 2011 | Rational Numbers: A library of basic arithmetic and | comparison of fractions | exercise solution codepad |
| 239 | 24 May 2011 | Big Numbers: Getting Started: A library for big integers: representation, | comparison, simple functions | exercise solution codepad |
| 312 | 07 Feb 2012 | Solar | Compass: Determine North by sighting the Sun | exercise solution codepad |
| 51 | 17 Jul 2009 | International Mathematical Olympiad: Three exercises from 1960s math | competitions | exercise solution codepad |
| 476 | 24 Sep 2013 | Finding Digit Strings In Powers Of Two: A simple exercise from one of the | competitive programming sites | exercise solution codepad |
| 426 | 26 Mar 2013 | Google Code Jam Qualification Round Africa 2010, Revisited: Four solutions to a Google programming exercise, with various time | complexities | exercise solution codepad |
| 77 | 16 Oct 2009 | Growable Arrays: Arrays that grow and shrink at run-time, with O(log n) | complexity per operation | exercise solution codepad |
| 303 | 06 Jan 2012 | Pritchard’s Wheel Sieve: An alternative to the Sieve of Eratosthenes with a faster asymptotic time | complexity | exercise solution codepad |
| 197 | 28 Dec 2010 | Carmichael Numbers: | Composite numbers such that an-1 ≡ 1 (mod n) if a is prime to n | exercise solution codepad |
| 474 | 17 Sep 2013 | Smallest Consecutive Four-Factor | Composites: Find consecutive numbers with four factors | exercise solution codepad |
| 114 | 26 Feb 2010 | Run Length Encoding: A simple | compression method for text files | exercise solution codepad |
| 74 | 06 Oct 2009 | MapReduce: Google’s famous system for parallelizing | computations expressed as a programming idiom | exercise solution codepad |
| 384 | 23 Oct 2012 | Universal Hash Function: | Compute a hash for any native Scheme datatype | exercise solution codepad |
| 412 | 05 Feb 2013 | The 147 Puzzle: | Compute all the solutions to 1/a + 1/b + 1/c + 1/d + 1/e = 1 in integers | exercise solution codepad |
| 397 | 07 Dec 2012 | Wirth Problem 15.12: | Compute a sequence of numbers defined by Wirth | exercise solution codepad |
| 209 | 08 Feb 2011 | The First Computer Program: Ada Lovelace’s program to | compute Bernoulli numbers for Charles Babbage’s Analytical Engine | exercise solution codepad |
| 223 | 28 Mar 2011 | Look And Say, Revisited: | Compute Conway’s constant | exercise solution codepad |
| 251 | 05 Jul 2011 | Big Numbers: Examples: A library for big integers: display factorials to 50, determine if a number is prime, and | compute its prime factors | exercise solution codepad |
| 216 | 04 Mar 2011 | Chutes And Ladders: Simulate a child’s game, and | compute its statistics | exercise solution codepad |
| 387 | 02 Nov 2012 | Gasoline Mileage Log: Read a file of gasoline purchases to | compute miles per gallon | exercise solution codepad |
| 393 | 23 Nov 2012 | Tonelli-Shanks Algorithm: | Compute modular square roots | exercise solution codepad |
| 27 | 24 Apr 2009 | Word Hy-phen-a-tion By | Com-pu-ter: Frank Liang’s hyphenation algorithm, used in TeX | exercise solution codepad |
| 36 | 26 May 2009 | Word Search Solver: A | computerized implementation of a popular time-waster | exercise solution codepad |
| 209 | 08 Feb 2011 | The First | Computer Program: Ada Lovelace’s program to compute Bernoulli numbers for Charles Babbage’s Analytical Engine | exercise solution codepad |
| 450 | 18 Jun 2013 | 3SUM: A classic of | computer science: find three numbers in an array that sum to zero | exercise solution codepad |
| 344 | 01 Jun 2012 | Square Roots: Four methods to | compute square roots, including one from antiquity | exercise solution codepad |
| 210 | 11 Feb 2011 | Sums Of Powers: Use Bernoulli numbers to quickly | compute sums of powers | exercise solution codepad |
| 10 | 24 Feb 2009 | Mardi Gras: | Compute the date of Easter | exercise solution codepad |
| 349 | 19 Jun 2012 | Digits Of E: Two algorithms that | compute the digits of e, one bounded, the other unbounded | exercise solution codepad |
| 396 | 04 Dec 2012 | Median Of Five: A very fast method to | compute the median of five items | exercise solution codepad |
| 383 | 19 Oct 2012 | Prime Partitions: | Compute the number of ways to sum primes to a target | exercise solution codepad |
| 133 | 04 May 2010 | Spectacular Seven: | Compute the odds at jai alai | exercise solution codepad |
| 423 | 15 Mar 2013 | Buffon’s Needle: | Compute the value of π with a simulation | exercise solution codepad |
| 388 | 06 Nov 2012 | Fix Something Annoying: Take control of your | computing environment by fixing something that annoys you | exercise solution codepad |
| 110 | 12 Feb 2010 | Sieve of Atkin: A modern alternative to the Sieve of Eratosthenes for | computing prime numbers | exercise solution codepad |
| 103 | 19 Jan 2010 | Flight Planning: | Computing the navigation triangle, by Jos Koot | exercise solution codepad |
| 175 | 12 Oct 2010 | Rotate An Array: A simple but tricky exercise solved by an algorithm from the folklore of | computing | exercise solution codepad |
| 220 | 18 Mar 2011 | Loopy Loops: Print the numbers from 1 to 1000 without using loops or | conditionals | exercise solution codepad |
| 389 | 09 Nov 2012 | Taxicab Numbers: | Confirm an interesting observation of Srinivasa Ramanujan | exercise solution codepad |
| 174 | 08 Oct 2010 | Zeller’s | Congruence: Calculate the day of the week for a given date | exercise solution codepad |
| 375 | 18 Sep 2012 | ABC | Conjecture: Demonstrate a recently-proved conjecture of number theory | exercise solution codepad |
| 115 | 02 Mar 2010 | Goldbach’s | Conjecture: Every even number greater than two can be written as the sum of two primes | exercise solution codepad |
| 375 | 18 Sep 2012 | ABC Conjecture: Demonstrate a recently-proved | conjecture of number theory | exercise solution codepad |
| 448 | 11 Jun 2013 | Longest Substring Of Two Unique Characters: Longest run of | consecutive characters in a string that contains only two unique characters | exercise solution codepad |
| 474 | 17 Sep 2013 | Smallest | Consecutive Four-Factor Composites: Find consecutive numbers with four factors | exercise solution codepad |
| 194 | 17 Dec 2010 | Polite Numbers: Write numbers as the sum of two or more | consecutive integers | exercise solution codepad |
| 474 | 17 Sep 2013 | Smallest Consecutive Four-Factor Composites: Find | consecutive numbers with four factors | exercise solution codepad |
| 369 | 28 Aug 2012 | Random Access Lists: A clever data structure that provides O(log n) access to items in a sequential list, along with | cons, head and tail | exercise solution codepad |
| 457 | 16 Jul 2013 | Vampire Numbers: Numbers x * y that | consist of the digits of x and y | exercise solution codepad |
| 456 | 12 Jul 2013 | Dynamic Hash Tables: Hash tables that grow and contract automatically to maintain a | constant load factor | exercise solution codepad |
| 207 | 01 Feb 2011 | Cuckoo Hashing: A hashing system with guaranteed constant-time lookup and amortized | constant-time insertion | exercise solution codepad |
| 207 | 01 Feb 2011 | Cuckoo Hashing: A hashing system with guaranteed | constant-time lookup and amortized constant-time insertion | exercise solution codepad |
| 223 | 28 Mar 2011 | Look And Say, Revisited: Compute Conway’s | constant | exercise solution codepad |
| 416 | 19 Feb 2013 | NPR Sunday Puzzle: Find two words | containing the letters a, b, c, d, e and f | exercise solution codepad |
| 271 | 13 Sep 2011 | Tetrahedral Numbers: Find the base of the tetrahedron that | contains 169179692512835000 balls | exercise solution codepad |
| 448 | 11 Jun 2013 | Longest Substring Of Two Unique Characters: Longest run of consecutive characters in a string that | contains only two unique characters | exercise solution codepad |
| 148 | 09 Jul 2010 | Contents: Permuted Table Of | Contents: Blog management | exercise solution codepad |
| 146 | 02 Jul 2010 | Contents: Chronological Listing Of Exercises: Blog management | exercise solution codepad | |
| 148 | 09 Jul 2010 | Contents: Permuted Table Of Contents: Blog management | exercise solution codepad | |
| 150 | 16 Jul 2010 | Contents: Themes: Blog Management | exercise solution codepad | |
| 265 | 23 Aug 2011 | Knapsack: Fill a knapsack to maximize the value of its | contents | exercise solution codepad |
| 117 | 09 Mar 2010 | Lexicographic Permutations: | Continually generate the next permutation using an algorithm by Dijkstra | exercise solution codepad |
| 286 | 08 Nov 2011 | Improved Standard | Continuation: An improved version of elliptic curve factorization, widely used in current practice | exercise solution codepad |
| 49 | 10 Jul 2009 | The Golden Ratio: Evaluate a | continued fraction, based on my daughter’s math homework | exercise solution codepad |
| 167 | 14 Sep 2010 | The Factorization Of F7: Part 1: Our fortieth anniversary celebration of Morrison and Brillhart’s method of integer factorization by | continued fractions | exercise solution codepad |
| 168 | 17 Sep 2010 | The Factorization Of F7: Part 2: Our fortieth anniversary celebration of Morrison and Brillhart’s method of integer factorization by | continued fractions | exercise solution codepad |
| 456 | 12 Jul 2013 | Dynamic Hash Tables: Hash tables that grow and | contract automatically to maintain a constant load factor | exercise solution codepad |
| 382 | 16 Oct 2012 | Version | Control: Economically store multiple versions of text files | exercise solution codepad |
| 388 | 06 Nov 2012 | Fix Something Annoying: Take | control of your computing environment by fixing something that annoys you | exercise solution codepad |
| 372 | 07 Sep 2012 | The First Two Programs: Hello World and a fahrenheit / celsius | conversion table | exercise solution codepad |
| 245 | 14 Jun 2011 | Big Numbers: Input And Output: A library for big integers: input and output with radix | conversion | exercise solution codepad |
| 407 | 15 Jan 2013 | Translate CSV To Html: | Convert between tabular storage forms | exercise solution codepad |
| 250 | 01 Jul 2011 | Feet And Inches: | Convert decimal inches to carpenters’ fractions | exercise solution codepad |
| 106 | 29 Jan 2010 | Straddling Checkerboard: An alternative to the Polybius square for ciphers that must | convert letters to digits | exercise solution codepad |
| 172 | 01 Oct 2010 | Oban Numbers: Numbers that omit the letter “o” when spelled, and a function to | convert numbers to words | exercise solution codepad |
| 465 | 13 Aug 2013 | Unix Paths: | Convert relative Unix path to absolute, by Robert Fisher | exercise solution codepad |
| 223 | 28 Mar 2011 | Look And Say, Revisited: Compute | Conway’s constant | exercise solution codepad |
| 333 | 20 Apr 2012 | John Horton | Conway’s Game Of Life: The classic cellular automata | exercise solution codepad |
| 354 | 06 Jul 2012 | Fractran: Write an interpreter for John Horton | Conway’s language Fractran | exercise solution codepad |
| 219 | 15 Mar 2011 | Look And Say: Calculate John Horton | Conway’s "Look and Say" sequence | exercise solution codepad |
| 308 | 24 Jan 2012 | A Dozen Lines Of Code: Do something | cool in a small space | exercise solution codepad |
| 328 | 03 Apr 2012 | Cornacchia’s Algorithm: Find solutions to quadratic diophantine equations | exercise solution codepad | |
| 435 | 26 Apr 2013 | Correct Horse Battery Staple, Improved: Fix a horrible bug in the original version | exercise solution codepad | |
| 434 | 23 Apr 2013 | Correct Horse Battery Staple: Randall Munro’s passphrase generator | exercise solution codepad | |
| 275 | 27 Sep 2011 | Statistics: Calculate the mean, standard deviation, linear regression and | correlation | exercise solution codepad |
| 69 | 18 Sep 2009 | Regular Expressions, Part 2: The | corresponding matcher | exercise solution codepad |
| 92 | 08 Dec 2009 | Word | Count: An implementation of the unix wc program |
exercise solution codepad |
| 206 | 28 Jan 2011 | Population | Count: Count the number of set bits (1-bits) in the binary representation of an integer | exercise solution codepad |
| 259 | 02 Aug 2011 | The Nth Prime: The n prime, | counting from p1 = 2 | exercise solution codepad |
| 200 | 07 Jan 2011 | Counting Primes: The prime | counting function and nth-prime function | exercise solution codepad |
| 257 | 26 Jul 2011 | More Prime-Counting Functions: Prime | counting functions by Meissel and Lehmer, based on Legendre’s sum | exercise solution codepad |
| 348 | 15 Jun 2012 | Counting Ones: Count the number of 1-digits in the numbers less than n | exercise solution codepad | |
| 200 | 07 Jan 2011 | Counting Primes: The prime counting function and nth-prime function | exercise solution codepad | |
| 256 | 22 Jul 2011 | Counting Primes Using Legendre’s Formula: Recreate Legendre’s two-century old calculation of the number of primes less than a million | exercise solution codepad | |
| 72 | 29 Sep 2009 | Green Eyes: A | counting problem from high-school math | exercise solution codepad |
| 85 | 13 Nov 2009 | Two linear sorts: | Count sort and radix sort exploit the structure of integer keys | exercise solution codepad |
| 402 | 25 Dec 2012 | The Twelve Days of Christmas: | Count the gifts of Christmas | exercise solution codepad |
| 348 | 15 Jun 2012 | Counting Ones: | Count the number of 1-digits in the numbers less than n | exercise solution codepad |
| 307 | 20 Jan 2012 | Knights On A Keypad: | Count the number of knight paths on a keypad | exercise solution codepad |
| 206 | 28 Jan 2011 | Population Count: | Count the number of set bits (1-bits) in the binary representation of an integer | exercise solution codepad |
| 331 | 13 Apr 2012 | McNugget Numbers, Revisited: The classic coin problem in disguise, how to | count the number of ways to make change | exercise solution codepad |
| 311 | 03 Feb 2012 | Roman Numeral Puzzle: | Count the Roman numerals with no repeated digits | exercise solution codepad |
| 441 | 17 May 2013 | Coin Change, Part 1: Classic problem to | count the ways to make change | exercise solution codepad |
| 415 | 15 Feb 2013 | Facebook Hacker Cup 2013, Round 1, Problem 1: | Count the ways to win a card game | exercise solution codepad |
| 285 | 04 Nov 2011 | Craps: Simulate a popular game of gambling with dice | exercise solution codepad | |
| 78 | 20 Oct 2009 | Shuffle: | Create random permutations of an array or linked list | exercise solution codepad |
| 437 | 03 May 2013 | Pairing Students: | Create sets of students, each paired to the other only once | exercise solution codepad |
| 12 | 03 Mar 2009 | Creation: Cryptanalysis of a Vigenère cipher | exercise solution codepad | |
| 226 | 08 Apr 2011 | Credit Card Validation: Validate decimal numbers using the Luhn algorithm | exercise solution codepad | |
| 461 | 30 Jul 2013 | Who Buys The | Croissants?: Simulate an important Friday-morning question | exercise solution codepad |
| 472 | 06 Sep 2013 | Cartesian Product: | Cross-product of the items in a variable-length list of variable-length lists | exercise solution codepad |
| 230 | 22 Apr 2011 | Xref: Programmer’s | cross-reference utility | exercise solution codepad |
| 101 | 12 Jan 2010 | Calculating Sines: Calculate sines using Taylor series and the triple-angle formula, by Bill | Cruise | exercise solution codepad |
| 12 | 03 Mar 2009 | Creation: | Cryptanalysis of a Vigenère cipher | exercise solution codepad |
| 50 | 14 Jul 2009 | The Daily | Cryptogram: Solve a monoalphabetic substitution cipher | exercise solution codepad |
| 60 | 18 Aug 2009 | Blum Blum Shub: Stream cipher based on a | cryptographically secure pseudo-random number generator | exercise solution codepad |
| 94 | 15 Dec 2009 | Affine-Shift Cipher: A | cryptographically weak but mathematically interesting cipher | exercise solution codepad |
| 165 | 07 Sep 2010 | Data Encryption Standard: Part 3: Triple DES and | cryptographic hashing | exercise solution codepad |
| 185 | 16 Nov 2010 | RSA Cryptography: The original public-key | cryptographic system, still in wide use | exercise solution codepad |
| 244 | 10 Jun 2011 | Steganography: A hand-operable system that combines | cryptography and steganography | exercise solution codepad |
| 203 | 18 Jan 2011 | Solitaire Cipher: Bruce Schneier’s strong | cryptography based on a deck of playing cards | exercise solution codepad |
| 185 | 16 Nov 2010 | RSA | Cryptography: The original public-key cryptographic system, still in wide use | exercise solution codepad |
| 246 | 17 Jun 2011 | Adi Shamir’s Threshold Scheme: Use | cryptography to share a secret, by Graham Enos | exercise solution codepad |
| 290 | 22 Nov 2011 | Rabin’s | Cryptosystem: Public-key cryptosystem, similar to RSA | exercise solution codepad |
| 290 | 22 Nov 2011 | Rabin’s Cryptosystem: Public-key | cryptosystem, similar to RSA | exercise solution codepad |
| 283 | 28 Oct 2011 | Crypt: Simple encryption tool from Kernighan and Plauger | exercise solution codepad | |
| 341 | 18 May 2012 | Formatted Numeric Output: A minimal version of | C’s printf function |
exercise solution codepad |
| 407 | 15 Jan 2013 | Translate | CSV To Html: Convert between tabular storage forms | exercise solution codepad |
| 149 | 13 Jul 2010 | Word | Cube: A game to form words from a given set of letters | exercise solution codepad |
| 288 | 15 Nov 2011 | Phil Harvey’s Puzle: partition {1,…,16} into two sets of equal size so each subset has the same sum, sum of squares and sum of | cubes | exercise solution codepad |
| 207 | 01 Feb 2011 | Cuckoo Hashing: A hashing system with guaranteed constant-time lookup and amortized constant-time insertion | exercise solution codepad | |
| 415 | 15 Feb 2013 | Facebook Hacker | Cup 2013, Round 1, Problem 1: Count the ways to win a card game | exercise solution codepad |
| 145 | 29 Jun 2010 | World | Cup Prognostication: Simulate the knockout stage using elo ratings | exercise solution codepad |
| 417 | 22 Feb 2013 | Floupia: Make change in a strange | currency | exercise solution codepad |
| 286 | 08 Nov 2011 | Improved Standard Continuation: An improved version of elliptic curve factorization, widely used in | current practice | exercise solution codepad |
| 55 | 31 Jul 2009 | Elliptic | Curve Factorization: A very simple implementation of elliptic curve factorization | exercise solution codepad |
| 130 | 23 Apr 2010 | Modern Elliptic | Curve Factorization, Part 1: Elliptic arithmetic using Montgomery’s parameterization | exercise solution codepad |
| 131 | 27 Apr 2010 | Modern Elliptic | Curve Factorization, Part 2: Elliptic arithmetic using Montgomery’s parameterization | exercise solution codepad |
| 55 | 31 Jul 2009 | Elliptic Curve Factorization: A very simple implementation of elliptic | curve factorization | exercise solution codepad |
| 56 | 04 Aug 2009 | Lenstra’s Algorithm: Hendrik Lenstra’s original algorithm for elliptic | curve factorization | exercise solution codepad |
| 286 | 08 Nov 2011 | Improved Standard Continuation: An improved version of elliptic | curve factorization, widely used in current practice | exercise solution codepad |
| 132 | 30 Apr 2010 | Integer Factorization: Combine trial division, Pollard’s rho and p−1 methods, and elliptic | curves into a single factorization program | exercise solution codepad |
| 54 | 28 Jul 2009 | Elliptic | Curves: Library of basic functions on elliptic curves | exercise solution codepad |
| 54 | 28 Jul 2009 | Elliptic Curves: Library of basic functions on elliptic | curves | exercise solution codepad |
| 330 | 10 Apr 2012 | Galton: Simulate a marble-drop that forms a bell-shaped | curve | exercise solution codepad |
| 159 | 17 Aug 2010 | Cut: Select fields or characters from input lines | exercise solution codepad | |
| 5 | 19 Feb 2009 | Flavius Josephus: Programming a | cyclical list | exercise solution codepad |
| 430 | 09 Apr 2013 | Cyclic Equality: Determine if two cyclic lists are equal | exercise solution codepad | |
| 263 | 16 Aug 2011 | Insert Into A Cyclic Sorted List: Insert a new element into a | cyclic list, in order | exercise solution codepad |
| 430 | 09 Apr 2013 | Cyclic Equality: Determine if two | cyclic lists are equal | exercise solution codepad |
| 431 | 12 Apr 2013 | Booth’s Algorithm: Determine of two | cyclic lists are equal | exercise solution codepad |
| 263 | 16 Aug 2011 | Insert Into A | Cyclic Sorted List: Insert a new element into a cyclic list, in order | exercise solution codepad |
| 50 | 14 Jul 2009 | The | Daily Cryptogram: Solve a monoalphabetic substitution cipher | exercise solution codepad |
| 161 | 24 Aug 2010 | Daniel Shanks’ Square Form Factorization Algorithm: A simple and very fast factorization algorithm for integers between 105 and 1020 | exercise solution codepad | |
| 141 | 15 Jun 2010 | Natural Join: The fundamental relational | database operator | exercise solution codepad |
| 177 | 19 Oct 2010 | Text File | Databases: Part 1: Functions to read records with fields in various formats | exercise solution codepad |
| 178 | 22 Oct 2010 | Text File | Databases: Part 2: Various functions to process records with fields | exercise solution codepad |
| 179 | 26 Oct 2010 | Benford’s Law: A useful mathematical oddity, and an example of text file | databases | exercise solution codepad |
| 163 | 31 Aug 2010 | Data Encryption Standard: Part 1: Basic block enciphering and deciphering using DES | exercise solution codepad | |
| 164 | 03 Sep 2010 | Data Encryption Standard: Part 2: ECB, CBC, CFB and OFB block modes for DES and other block ciphers | exercise solution codepad | |
| 165 | 07 Sep 2010 | Data Encryption Standard: Part 3: Triple DES and cryptographic hashing | exercise solution codepad | |
| 166 | 10 Sep 2010 | Data Encryption Standard: Part 4: DES driver program | exercise solution codepad | |
| 189 | 30 Nov 2010 | Form Letters: Merge a schema and a | data file to write form letters | exercise solution codepad |
| 447 | 07 Jun 2013 | Sets: A classic | data structure and associated algorithms | exercise solution codepad |
| 73 | 02 Oct 2009 | Red-Black Trees: A purely functional dictionary | data structure based on approximately-balanced trees | exercise solution codepad |
| 124 | 02 Apr 2010 | Disjoint Sets: A | data structure for storing sets of items in disjoint partitions | exercise solution codepad |
| 321 | 09 Mar 2012 | Sparse Sets: Clever | data structure for storing sparse sets of small integers | exercise solution codepad |
| 45 | 26 Jun 2009 | Treaps: A randomized dictionary | data structure, provides in-order access to key | exercise solution codepad |
| 116 | 05 Mar 2010 | Binary Search Tree: Classic | data structure, providing insert, delete and lookup for ordered datatypes | exercise solution codepad |
| 171 | 28 Sep 2010 | Maxiphobic Heaps: A priority-queue | data structure, similar to leftist heaps, due to Chris Okasaki | exercise solution codepad |
| 369 | 28 Aug 2012 | Random Access Lists: A clever | data structure that provides O(log n) access to items in a sequential list, along with cons, head and tail | exercise solution codepad |
| 30 | 05 May 2009 | Priority Queues: A simple library implementation of the priority queue | data structure | exercise solution codepad |
| 489 | 29 Oct 2013 | Queues: Implement a basic | data structure | exercise solution codepad |
| 116 | 05 Mar 2010 | Binary Search Tree: Classic data structure, providing insert, delete and lookup for ordered | datatypes | exercise solution codepad |
| 384 | 23 Oct 2012 | Universal Hash Function: Compute a hash for any native Scheme | datatype | exercise solution codepad |
| 444 | 28 May 2013 | Modular Multiplication Without Overflow: Perform modular multiplication without overflowing an integer | datatype | exercise solution codepad |
| 432 | 16 Apr 2013 | Date Formatting: Neatly write a date in a variety of formats | exercise solution codepad | |
| 432 | 16 Apr 2013 | Date Formatting: Neatly write a | date in a variety of formats | exercise solution codepad |
| 10 | 24 Feb 2009 | Mardi Gras: Compute the | date of Easter | exercise solution codepad |
| 455 | 05 Jul 2013 | Weekdays Between Two Dates: Number of days between two | dates, excluding Saturday and Sunday | exercise solution codepad |
| 455 | 05 Jul 2013 | Weekdays Between Two | Dates: Number of days between two dates, excluding Saturday and Sunday | exercise solution codepad |
| 123 | 30 Mar 2010 | Passover: Calculate the | dates of the Jewish holidays Rosh Hashanah and Passover | exercise solution codepad |
| 40 | 09 Jun 2009 | Longest Common Subsequence: A classic programming algorithm, with a solution that | dates to folklore | exercise solution codepad |
| 174 | 08 Oct 2010 | Zeller’s Congruence: Calculate the day of the week for a given | date | exercise solution codepad |
| 221 | 22 Mar 2011 | Two Kaprekar Exercises: Kaprekar chains and Kaprekar numbers, from the Indian mathematician | Dattaraya Ramchandra Kaprekar | exercise solution codepad |
| 49 | 10 Jul 2009 | The Golden Ratio: Evaluate a continued fraction, based on my | daughter’s math homework | exercise solution codepad |
| 484 | 22 Oct 2013 | David Gries’ Coffee Can Problem: Simulate the process of extracting beans from a coffee can | exercise solution codepad | |
| 96 | 22 Dec 2009 | Permuted Index: | David Parnas’ classic deconstruction of the keyword-in-context index | exercise solution codepad |
| 88 | 24 Nov 2009 | Sunrise, Sunset: Calculate the times of sunrise and sunset on any | day anywhere in the world | exercise solution codepad |
| 174 | 08 Oct 2010 | Zeller’s Congruence: Calculate the | day of the week for a given date | exercise solution codepad |
| 248 | 24 Jun 2011 | Thank God It’s Friday!: Three methods to calculate the | day of the week | exercise solution codepad |
| 376 | 21 Sep 2012 | Autumn Equinox: Calculate the length of the | day; provides a time-handling library | exercise solution codepad |
| 455 | 05 Jul 2013 | Weekdays Between Two Dates: Number of | days between two dates, excluding Saturday and Sunday | exercise solution codepad |
| 402 | 25 Dec 2012 | The Twelve | Days of Christmas: Count the gifts of Christmas | exercise solution codepad |
| 104 | 22 Jan 2010 | Phases Of The Moon: Calculate the number of | days since the last new moon | exercise solution codepad |
| 454 | 02 Jul 2013 | Decoding Text-Speak: Expnd txt wth only intl vwls and n | dbld ltrs | exercise solution codepad |
| 53 | 24 Jul 2009 | Let’s Make A | Deal!: Simulate a tricky probability calculation | exercise solution codepad |
| 416 | 19 Feb 2013 | NPR Sunday Puzzle: Find two words containing the letters a, b, c, | d, e and f | exercise solution codepad |
| 250 | 01 Jul 2011 | Feet And Inches: Convert | decimal inches to carpenters’ fractions | exercise solution codepad |
| 226 | 08 Apr 2011 | Credit Card Validation: Validate | decimal numbers using the Luhn algorithm | exercise solution codepad |
| 406 | 08 Jan 2013 | Floating Point Rounding: Round a floating point number to a given | decimal place | exercise solution codepad |
| 163 | 31 Aug 2010 | Data Encryption Standard: Part 1: Basic block enciphering and | deciphering using DES | exercise solution codepad |
| 203 | 18 Jan 2011 | Solitaire Cipher: Bruce Schneier’s strong cryptography based on a | deck of playing cards | exercise solution codepad |
| 454 | 02 Jul 2013 | Decoding Text-Speak: Expnd txt wth only intl vwls and n dbld ltrs | exercise solution codepad | |
| 96 | 22 Dec 2009 | Permuted Index: David Parnas’ classic | deconstruction of the keyword-in-context index | exercise solution codepad |
| 86 | 17 Nov 2009 | Master Mind, Part 1: Referee a two-player game of | deductive logic | exercise solution codepad |
| 397 | 07 Dec 2012 | Wirth Problem 15.12: Compute a sequence of numbers | defined by Wirth | exercise solution codepad |
| 116 | 05 Mar 2010 | Binary Search Tree: Classic data structure, providing insert, | delete and lookup for ordered datatypes | exercise solution codepad |
| 319 | 02 Mar 2012 | Balanced Delimiters: Determine if nested | delimiters are properly balanced | exercise solution codepad |
| 319 | 02 Mar 2012 | Balanced | Delimiters: Determine if nested delimiters are properly balanced | exercise solution codepad |
| 375 | 18 Sep 2012 | ABC Conjecture: | Demonstrate a recently-proved conjecture of number theory | exercise solution codepad |
| 381 | 12 Oct 2012 | Birthday Paradox: Use simulation to | demonstrate the birthday paradox | exercise solution codepad |
| 279 | 11 Oct 2011 | Tower Of Hanoi: Classic | demonstration of recursion | exercise solution codepad |
| 363 | 07 Aug 2012 | Make: The classic Unix utility for managing file | dependencies | exercise solution codepad |
| 269 | 06 Sep 2011 | Deques: Library implementation of double-ended queues | exercise solution codepad | |
| 305 | 13 Jan 2012 | Excel’s XIRR Function: Numerical calculation of a | derivative | exercise solution codepad |
| 165 | 07 Sep 2010 | Data Encryption Standard: Part 3: Triple | DES and cryptographic hashing | exercise solution codepad |
| 164 | 03 Sep 2010 | Data Encryption Standard: Part 2: ECB, CBC, CFB and OFB block modes for | DES and other block ciphers | exercise solution codepad |
| 33 | 15 May 2009 | Cellular Automata: Linear cellular automata as | described by Stephen Wolfram in his book A New Kind of Science | exercise solution codepad |
| 166 | 10 Sep 2010 | Data Encryption Standard: Part 4: | DES driver program | exercise solution codepad |
| 475 | 20 Sep 2013 | McCarthy’s 91 Function: A recursive function | designed as a test case for formal verification | exercise solution codepad |
| 163 | 31 Aug 2010 | Data Encryption Standard: Part 1: Basic block enciphering and deciphering using | DES | exercise solution codepad |
| 234 | 06 May 2011 | Entab And | Detab: expand tabs into spaces, and replace spaces with tabs | exercise solution codepad |
| 405 | 02 Jan 2013 | Four Points | Determine A Square: Determine if four given points form a square | exercise solution codepad |
| 336 | 01 May 2012 | Legendre’s Symbol: | Determine if a number is a quadratic residue mod m | exercise solution codepad |
| 156 | 06 Aug 2010 | Two Powering Predicates: | Determine if a number is a square or a prime power | exercise solution codepad |
| 251 | 05 Jul 2011 | Big Numbers: Examples: A library for big integers: display factorials to 50, | determine if a number is prime, and compute its prime factors | exercise solution codepad |
| 405 | 02 Jan 2013 | Four Points Determine A Square: | Determine if four given points form a square | exercise solution codepad |
| 319 | 02 Mar 2012 | Balanced Delimiters: | Determine if nested delimiters are properly balanced | exercise solution codepad |
| 187 | 23 Nov 2010 | String Subsets: | Determine if one string is a subset of another | exercise solution codepad |
| 322 | 13 Mar 2012 | Perfect Power Predicate: Given a positive integer n, | determine if there exists a b and e for which be = n | exercise solution codepad |
| 408 | 18 Jan 2013 | Triangle Trilemma: | Determine if three points form a triangle, and classify it | exercise solution codepad |
| 430 | 09 Apr 2013 | Cyclic Equality: | Determine if two cyclic lists are equal | exercise solution codepad |
| 255 | 19 Jul 2011 | Sum Of Two Integers: | Determine if two integers in a list sum to a target | exercise solution codepad |
| 310 | 31 Jan 2012 | String Rotation: | Determine if two strings are rotations of each other | exercise solution codepad |
| 312 | 07 Feb 2012 | Solar Compass: | Determine North by sighting the Sun | exercise solution codepad |
| 431 | 12 Apr 2013 | Booth’s Algorithm: | Determine of two cyclic lists are equal | exercise solution codepad |
| 486 | 29 Oct 2013 | The 16 Game: | Determine the odds in a scratch-off game | exercise solution codepad |
| 297 | 16 Dec 2011 | Majority Voting: | Determine the results of an election | exercise solution codepad |
| 107 | 02 Feb 2010 | Proving Primality: A | deterministic, not probabilistic, method of checking primality | exercise solution codepad |
| 252 | 08 Jul 2011 | Vedic Divisibility: Use a method of testing divisibility using the method of osculators | developed in India | exercise solution codepad |
| 398 | 11 Dec 2012 | Stepwise Program | Development: A Heuristic Algorithm: A backtracking solution to a problem of Wirth | exercise solution codepad |
| 275 | 27 Sep 2011 | Statistics: Calculate the mean, standard | deviation, linear regression and correlation | exercise solution codepad |
| 285 | 04 Nov 2011 | Craps: Simulate a popular game of gambling with | dice | exercise solution codepad |
| 73 | 02 Oct 2009 | Red-Black Trees: A purely functional | dictionary data structure based on approximately-balanced trees | exercise solution codepad |
| 45 | 26 Jun 2009 | Treaps: A randomized | dictionary data structure, provides in-order access to key | exercise solution codepad |
| 334 | 24 Apr 2012 | Rhyming | Dictionary: Find rhyming words for poets | exercise solution codepad |
| 347 | 12 Jun 2012 | Ordered Maps: A key/value | dictionary that supports an ordering relationship | exercise solution codepad |
| 23 | 10 Apr 2009 | Anagrams: Find anagrams in a | dictionary | exercise solution codepad |
| 25 | 17 Apr 2009 | Spell Checking: A spell-checker in a trie-based | dictionary | exercise solution codepad |
| 380 | 09 Oct 2012 | Two Word Games: Find words in a | dictionary | exercise solution codepad |
| 332 | 17 Apr 2012 | Twin Primes: A variant of the Sieve of Eratosthenes to find pairs of primes that | differ by two | exercise solution codepad |
| 392 | 20 Nov 2012 | List | Difference: Another algorithm on linked lists | exercise solution codepad |
| 482 | 15 Oct 2013 | Find The Minimum Difference: Find the minimum | difference between any item from on list and any item from another list | exercise solution codepad |
| 482 | 15 Oct 2013 | Find The Minimum | Difference: Find the minimum difference between any item from on list and any item from another list | exercise solution codepad |
| 224 | 01 Apr 2011 | Maximum | Difference In An Array: Find maximum Xj &minus Xi, with i ≤ j | exercise solution codepad |
| 139 | 08 Jun 2010 | Diff: Find the | differences between two text files | exercise solution codepad |
| 139 | 08 Jun 2010 | Diff: Find the differences between two text files | exercise solution codepad | |
| 473 | 12 Sep 2013 | Diffie Hellman Key Exchange: Manage secure exchanges on an insecure communications channel | exercise solution codepad | |
| 429 | 05 Apr 2013 | Last Non-Zero | Digit Of A Factorial: Find the last non-zero digit of a factorial | exercise solution codepad |
| 429 | 05 Apr 2013 | Last Non-Zero Digit Of A Factorial: Find the last non-zero | digit of a factorial | exercise solution codepad |
| 229 | 19 Apr 2011 | Same Five | Digits: A math puzzle from New Scientist, solved by guest author Bob Miller | exercise solution codepad |
| 181 | 02 Nov 2010 | Emirps: Prime numbers that are prime when their | digits are reversed, but not palindromic | exercise solution codepad |
| 318 | 28 Feb 2012 | Next Greater Permutation Of Digits: Find the smallest number larger than the input number using the same | digits as the input number | exercise solution codepad |
| 318 | 28 Feb 2012 | Next Greater Permutation Of | Digits: Find the smallest number larger than the input number using the same digits as the input number | exercise solution codepad |
| 169 | 21 Sep 2010 | Kaprekar Numbers: Square the number and add the | digits in halves | exercise solution codepad |
| 349 | 19 Jun 2012 | Digits Of E: Two algorithms that compute the | digits of e, one bounded, the other unbounded | exercise solution codepad |
| 349 | 19 Jun 2012 | Digits Of E: Two algorithms that compute the digits of e, one bounded, the other unbounded | exercise solution codepad | |
| 449 | 14 Jun 2013 | The | Digits of Pi, Again: Chudnovsky’s algorithm for the digits of pi | exercise solution codepad |
| 8 | 20 Feb 2009 | The | Digits of Pi: A spigot algorithm to calculate the digits of pi | exercise solution codepad |
| 449 | 14 Jun 2013 | The Digits of Pi, Again: Chudnovsky’s algorithm for the | digits of pi | exercise solution codepad |
| 8 | 20 Feb 2009 | The Digits of Pi: A spigot algorithm to calculate the | digits of pi | exercise solution codepad |
| 413 | 08 Feb 2013 | The Biggest Prime: Print all 17-million | digits of the largest known prime number | exercise solution codepad |
| 457 | 16 Jul 2013 | Vampire Numbers: Numbers x * y that consist of the | digits of x and y | exercise solution codepad |
| 129 | 20 Apr 2010 | 145 Puzzle: Build and evaluate expressions using the | digits one through nine and the simple arithmetic operators | exercise solution codepad |
| 152 | 23 Jul 2010 | Happy Numbers: Iterating the sum of the squares of the | digits terminates with one | exercise solution codepad |
| 476 | 24 Sep 2013 | Finding | Digit Strings In Powers Of Two: A simple exercise from one of the competitive programming sites | exercise solution codepad |
| 106 | 29 Jan 2010 | Straddling Checkerboard: An alternative to the Polybius square for ciphers that must convert letters to | digits | exercise solution codepad |
| 311 | 03 Feb 2012 | Roman Numeral Puzzle: Count the Roman numerals with no repeated | digits | exercise solution codepad |
| 386 | 30 Oct 2012 | Pandigital Numbers: Find sums that include all ten | digits | exercise solution codepad |
| 199 | 04 Jan 2011 | Dijkstra’s Algorithm: Find the shortest path to all vertices of a graph from a single source, guest written by Graham Enos | exercise solution codepad | |
| 117 | 09 Mar 2010 | Lexicographic Permutations: Continually generate the next permutation using an algorithm by | Dijkstra | exercise solution codepad |
| 267 | 30 Aug 2011 | Hamming Numbers: List the numbers with no factors greater than 5, a classic problem popularized by | Dijkstra | exercise solution codepad |
| 420 | 05 Mar 2013 | Dutch National Flag: Classic ternary sort by Edsgar | Dijkstra | exercise solution codepad |
| 99 | 05 Jan 2010 | The Sum Of Two Squares: A math puzzle with a solution by | Dijkstra | exercise solution codepad |
| 328 | 03 Apr 2012 | Cornacchia’s Algorithm: Find solutions to quadratic | diophantine equations | exercise solution codepad |
| 459 | 23 Jul 2013 | Telephone Lookup: A | directory-assistance program by Mike Lesk | exercise solution codepad |
| 331 | 13 Apr 2012 | McNugget Numbers, Revisited: The classic coin problem in | disguise, how to count the number of ways to make change | exercise solution codepad |
| 124 | 02 Apr 2010 | Disjoint Sets: A data structure for storing sets of items in | disjoint partitions | exercise solution codepad |
| 124 | 02 Apr 2010 | Disjoint Sets: A data structure for storing sets of items in disjoint partitions | exercise solution codepad | |
| 251 | 05 Jul 2011 | Big Numbers: Examples: A library for big integers: | display factorials to 50, determine if a number is prime, and compute its prime factors | exercise solution codepad |
| 294 | 06 Dec 2011 | Pascal’s Triangle: | Display the binomial coefficients | exercise solution codepad |
| 289 | 18 Nov 2011 | Grade School Multiplication: | Display the steps in the grade school multiplication algorithm | exercise solution codepad |
| 82 | 03 Nov 2009 | Quick Sort: Tony Hoare’s | divide-and-conquer sorting algorithm | exercise solution codepad |
| 128 | 16 Apr 2010 | Expression Evaluation: Parse and evaluate an arithmetic expression with plus, minus, times, | divide and parentheses | exercise solution codepad |
| 252 | 08 Jul 2011 | Vedic | Divisibility: Use a method of testing divisibility using the method of osculators developed in India | exercise solution codepad |
| 252 | 08 Jul 2011 | Vedic Divisibility: Use a method of testing | divisibility using the method of osculators developed in India | exercise solution codepad |
| 243 | 07 Jun 2011 | Big Numbers: | Division: A library for big integers: the grade-school algorithm for long division | exercise solution codepad |
| 102 | 15 Jan 2010 | Three Binary Algorithms: Multiplication, | division and greatest common divisor using binary arithmetic | exercise solution codepad |
| 48 | 07 Jul 2009 | Modular Arithmetic: A function library for performing modular addition, subtraction, multiplication, | division, and square root | exercise solution codepad |
| 132 | 30 Apr 2010 | Integer Factorization: Combine trial | division, Pollard’s rho and p−1 methods, and elliptic curves into a single factorization program | exercise solution codepad |
| 243 | 07 Jun 2011 | Big Numbers: Division: A library for big integers: the grade-school algorithm for long | division | exercise solution codepad |
| 273 | 20 Sep 2011 | Project Euler Problem 3: Thorough explanation of integer factorization by trial | division | exercise solution codepad |
| 31 | 08 May 2009 | Wheel Factorization: Find the factors of a number by a variant of trial | division | exercise solution codepad |
| 188 | 26 Nov 2010 | Divisors And Totatives: The number-theoretic functions divisors, numdivs, sumdivs, totatives, and totient | exercise solution codepad | |
| 314 | 14 Feb 2012 | Divisors: Find divisors using a sieve | exercise solution codepad | |
| 188 | 26 Nov 2010 | Divisors And Totatives: The number-theoretic functions | divisors, numdivs, sumdivs, totatives, and totient | exercise solution codepad |
| 314 | 14 Feb 2012 | Divisors: Find | divisors using a sieve | exercise solution codepad |
| 102 | 15 Jan 2010 | Three Binary Algorithms: Multiplication, division and greatest common | divisor using binary arithmetic | exercise solution codepad |
| 236 | 13 May 2011 | Dixon’s Factorization Algorithm: A slow, but theoretically important, algorithm for integer factorization | exercise solution codepad | |
| 157 | 10 Aug 2010 | Literate Programming: Structured | documentation in the style of Donald Knuth | exercise solution codepad |
| 17 | 20 Mar 2009 | Dodgson's Doublets: A word game invented by the author of Alice in Wonderland | exercise solution codepad | |
| 264 | 19 Aug 2011 | First Non-Repeating Character: Find the first character in a string that | doesn’t repeat later in the string | exercise solution codepad |
| 196 | 24 Dec 2010 | Tracking Santa: How far | does Santa travel on his annual journey? | exercise solution codepad |
| 135 | 25 May 2010 | GB_FLIP: | Donald Knuth’s portable, high-quality random-number generator from the Stanford Graphbase | exercise solution codepad |
| 157 | 10 Aug 2010 | Literate Programming: Structured documentation in the style of | Donald Knuth | exercise solution codepad |
| 308 | 24 Jan 2012 | A Dozen Lines Of Code: | Do something cool in a small space | exercise solution codepad |
| 28 | 28 Apr 2009 | Morse Code: Translating the | dots-and-dashes of Samuel Finley Breese Morse’s telegraph code | exercise solution codepad |
| 155 | 03 Aug 2010 | Carl Hewitt’s Same-Fringe Problem: | Do two trees have the same leaves, solved with streams (lazy lists) | exercise solution codepad |
| 477 | 27 Sep 2013 | Double-Ended Priority Queues: Priority queues that permit access at both ends | exercise solution codepad | |
| 269 | 06 Sep 2011 | Deques: Library implementation of | double-ended queues | exercise solution codepad |
| 37 | 29 May 2009 | Double Transposition Cipher: A simple and effective cipher, easy to perform by hand | exercise solution codepad | |
| 17 | 20 Mar 2009 | Dodgson's | Doublets: A word game invented by the author of Alice in Wonderland | exercise solution codepad |
| 113 | 23 Feb 2010 | Engineering A Sort Function: A high-performance quicksort by Jon Bentley and | Doug McIlroy | exercise solution codepad |
| 240 | 27 May 2011 | Upside Up: Numbers that read the same upside | down | exercise solution codepad |
| 308 | 24 Jan 2012 | A | Dozen Lines Of Code: Do something cool in a small space | exercise solution codepad |
| 299 | 23 Dec 2011 | Koch’s Snowflake: | Draw a fractal snowflake using PostScript | exercise solution codepad |
| 357 | 17 Jul 2012 | Breshenham’s Line-Drawing Algorithm: | Draw straight lines using raster graphics | exercise solution codepad |
| 198 | 31 Dec 2010 | Arithmetic Drill: Repetitious | drill for children learning basic arithmetic | exercise solution codepad |
| 198 | 31 Dec 2010 | Arithmetic | Drill: Repetitious drill for children learning basic arithmetic | exercise solution codepad |
| 166 | 10 Sep 2010 | Data Encryption Standard: Part 4: DES | driver program | exercise solution codepad |
| 171 | 28 Sep 2010 | Maxiphobic Heaps: A priority-queue data structure, similar to leftist heaps, | due to Chris Okasaki | exercise solution codepad |
| 176 | 15 Oct 2010 | Find The Longest Palindrome In A String: A beautiful linear-time algorithm | due to Johan Jeuring | exercise solution codepad |
| 190 | 03 Dec 2010 | Maximum Sum Subsequence: A classic programming exercise | due to Jon Bentley | exercise solution codepad |
| 445 | 31 May 2013 | The Seven Bridges of Königsberg: A classic graph puzzle | due to Leonhard Euler | exercise solution codepad |
| 268 | 02 Sep 2011 | Two String Exercises: Remove | duplicate characters, and squish adjacent blanks | exercise solution codepad |
| 193 | 14 Dec 2010 | Longest | Duplicated Substring: Use a sorted suffix list | exercise solution codepad |
| 274 | 23 Sep 2011 | Array Duplicates: Find the | duplicate integer in a large array | exercise solution codepad |
| 274 | 23 Sep 2011 | Array | Duplicates: Find the duplicate integer in a large array | exercise solution codepad |
| 420 | 05 Mar 2013 | Dutch National Flag: Classic ternary sort by Edsgar Dijkstra | exercise solution codepad | |
| 7 | 20 Feb 2009 | Multiple | Dwellings: A simple logic puzzle, solved with the amb non-deterministic operator |
exercise solution codepad |
| 456 | 12 Jul 2013 | Dynamic Hash Tables: Hash tables that grow and contract automatically to maintain a constant load factor | exercise solution codepad | |
| 183 | 09 Nov 2010 | Subset Sums: Third level of the Greplin Programming Challenge, using | dynamic programming and memoization | exercise solution codepad |
| 326 | 27 Mar 2012 | Subset Sum: Solve a classic NP problem using | dynamic programming | exercise solution codepad |
| 90 | 01 Dec 2009 | Wolves And Rabbits: Analyze population | dynamics using the Lotka-Volterra equations | exercise solution codepad |
| 310 | 31 Jan 2012 | String Rotation: Determine if two strings are rotations of | each other | exercise solution codepad |
| 437 | 03 May 2013 | Pairing Students: Create sets of students, | each paired to the other only once | exercise solution codepad |
| 288 | 15 Nov 2011 | Phil Harvey’s Puzle: partition {1,…,16} into two sets of equal size so | each subset has the same sum, sum of squares and sum of cubes | exercise solution codepad |
| 416 | 19 Feb 2013 | NPR Sunday Puzzle: Find two words containing the letters a, b, c, d, | e and f | exercise solution codepad |
| 215 | 01 Mar 2011 | An | Early LISP Program: A program to flatten a list, from the March 1960 LISP I manual | exercise solution codepad |
| 158 | 13 Aug 2010 | E: A simple simulation with a surprising ending | exercise solution codepad | |
| 10 | 24 Feb 2009 | Mardi Gras: Compute the date of | Easter | exercise solution codepad |
| 18 | 23 Mar 2009 | Binary Search: A simple task, | easy to get wrong | exercise solution codepad |
| 37 | 29 May 2009 | Double Transposition Cipher: A simple and effective cipher, | easy to perform by hand | exercise solution codepad |
| 164 | 03 Sep 2010 | Data Encryption Standard: Part 2: | ECB, CBC, CFB and OFB block modes for DES and other block ciphers | exercise solution codepad |
| 382 | 16 Oct 2012 | Version Control: | Economically store multiple versions of text files | exercise solution codepad |
| 186 | 19 Nov 2010 | Topological Sort: Order the | edges of a graph by their precedence relationship | exercise solution codepad |
| 420 | 05 Mar 2013 | Dutch National Flag: Classic ternary sort by | Edsgar Dijkstra | exercise solution codepad |
| 37 | 29 May 2009 | Double Transposition Cipher: A simple and | effective cipher, easy to perform by hand | exercise solution codepad |
| 76 | 13 Oct 2009 | Bifid: A simple but | effective fractionating cipher, never used militarily | exercise solution codepad |
| 122 | 26 Mar 2010 | The Next Prime: | Efficiently find the next prime number larger than a given number | exercise solution codepad |
| 322 | 13 Mar 2012 | Perfect Power Predicate: Given a positive integer n, determine if there exists a b and | e for which be = n | exercise solution codepad |
| 446 | 04 Jun 2013 | Egyptian Fractions: An ancient method of representing fractions | exercise solution codepad | |
| 297 | 16 Dec 2011 | Majority Voting: Determine the results of an | election | exercise solution codepad |
| 460 | 26 Jul 2013 | Find X[i] = i In An Array: Find an array | element equal to its index | exercise solution codepad |
| 360 | 27 Jul 2012 | Min Stack: Provide push and pop operations and find the minimum | element in linear time | exercise solution codepad |
| 263 | 16 Aug 2011 | Insert Into A Cyclic Sorted List: Insert a new | element into a cyclic list, in order | exercise solution codepad |
| 266 | 26 Aug 2011 | Reverse Every K Nodes Of A Linked List: Reverse the | elements of a sub-list | exercise solution codepad |
| 304 | 10 Jan 2012 | Thirteen Anagram: 12+1=11+2 and “twelve plus one equals | eleven plus two” are both anagrams | exercise solution codepad |
| 130 | 23 Apr 2010 | Modern Elliptic Curve Factorization, Part 1: | Elliptic arithmetic using Montgomery’s parameterization | exercise solution codepad |
| 131 | 27 Apr 2010 | Modern Elliptic Curve Factorization, Part 2: | Elliptic arithmetic using Montgomery’s parameterization | exercise solution codepad |
| 55 | 31 Jul 2009 | Elliptic Curve Factorization: A very simple implementation of elliptic curve factorization | exercise solution codepad | |
| 130 | 23 Apr 2010 | Modern | Elliptic Curve Factorization, Part 1: Elliptic arithmetic using Montgomery’s parameterization | exercise solution codepad |
| 131 | 27 Apr 2010 | Modern | Elliptic Curve Factorization, Part 2: Elliptic arithmetic using Montgomery’s parameterization | exercise solution codepad |
| 55 | 31 Jul 2009 | Elliptic Curve Factorization: A very simple implementation of | elliptic curve factorization | exercise solution codepad |
| 56 | 04 Aug 2009 | Lenstra’s Algorithm: Hendrik Lenstra’s original algorithm for | elliptic curve factorization | exercise solution codepad |
| 286 | 08 Nov 2011 | Improved Standard Continuation: An improved version of | elliptic curve factorization, widely used in current practice | exercise solution codepad |
| 132 | 30 Apr 2010 | Integer Factorization: Combine trial division, Pollard’s rho and p−1 methods, and | elliptic curves into a single factorization program | exercise solution codepad |
| 54 | 28 Jul 2009 | Elliptic Curves: Library of basic functions on elliptic curves | exercise solution codepad | |
| 54 | 28 Jul 2009 | Elliptic Curves: Library of basic functions on | elliptic curves | exercise solution codepad |
| 145 | 29 Jun 2010 | World Cup Prognostication: Simulate the knockout stage using | elo ratings | exercise solution codepad |
| 410 | 25 Jan 2013 | Imperative Heaps: The classing implementation of priority queues | embedded in an array | exercise solution codepad |
| 42 | 16 Jun 2009 | Who Owns The Zebra?: A logic puzzle, solved by | embedding a Prolog-like logic system in Scheme | exercise solution codepad |
| 279 | 14 Oct 2011 | The First N Primes: | Embedding the Sieve of Eratosthenes in a priority queue instead of an array | exercise solution codepad |
| 121 | 23 Mar 2010 | Texas Hold | ‘Em: Find the best poker hand | exercise solution codepad |
| 181 | 02 Nov 2010 | Emirps: Prime numbers that are prime when their digits are reversed, but not palindromic | exercise solution codepad | |
| 138 | 04 Jun 2010 | Williams’ | P+1 Factorization Algorithm: A factorization algorithm, similar to Pollard’s p−1 algorithm | exercise solution codepad |
| 163 | 31 Aug 2010 | Data Encryption Standard: Part 1: Basic block | enciphering and deciphering using DES | exercise solution codepad |
| 114 | 26 Feb 2010 | Run Length | Encoding: A simple compression method for text files | exercise solution codepad |
| 163 | 31 Aug 2010 | Data | Encryption Standard: Part 1: Basic block enciphering and deciphering using DES | exercise solution codepad |
| 164 | 03 Sep 2010 | Data | Encryption Standard: Part 2: ECB, CBC, CFB and OFB block modes for DES and other block ciphers | exercise solution codepad |
| 165 | 07 Sep 2010 | Data | Encryption Standard: Part 3: Triple DES and cryptographic hashing | exercise solution codepad |
| 166 | 10 Sep 2010 | Data | Encryption Standard: Part 4: DES driver program | exercise solution codepad |
| 283 | 28 Oct 2011 | Crypt: Simple | encryption tool from Kernighan and Plauger | exercise solution codepad |
| 158 | 13 Aug 2010 | E: A simple simulation with a surprising | ending | exercise solution codepad |
| 452 | 25 Jun 2013 | Swap List Nodes: Swap the kth node from the beginning of a list with the kth node from the | end of a list | exercise solution codepad |
| 477 | 27 Sep 2013 | Double-Ended Priority Queues: Priority queues that permit access at both | ends | exercise solution codepad |
| 113 | 23 Feb 2010 | Engineering A Sort Function: A high-performance quicksort by Jon Bentley and Doug McIlroy | exercise solution codepad | |
| 209 | 08 Feb 2011 | The First Computer Program: Ada Lovelace’s program to compute Bernoulli numbers for Charles Babbage’s Analytical | Engine | exercise solution codepad |
| 199 | 04 Jan 2011 | Dijkstra’s Algorithm: Find the shortest path to all vertices of a graph from a single source, guest written by Graham | Enos | exercise solution codepad |
| 246 | 17 Jun 2011 | Adi Shamir’s Threshold Scheme: Use cryptography to share a secret, by Graham | Enos | exercise solution codepad |
| 234 | 06 May 2011 | Entab And Detab: expand tabs into spaces, and replace spaces with tabs | exercise solution codepad | |
| 46 | 30 Jun 2009 | Steve Yegge’s Phone-Screen Coding Exercises: A simple set of programming exercises based on a blog | entry by Steve Yegge | exercise solution codepad |
| 388 | 06 Nov 2012 | Fix Something Annoying: Take control of your computing | environment by fixing something that annoys you | exercise solution codepad |
| 349 | 19 Jun 2012 | Digits Of E: Two algorithms that compute the digits of | e, one bounded, the other unbounded | exercise solution codepad |
| 430 | 09 Apr 2013 | Cyclic | Equality: Determine if two cyclic lists are equal | exercise solution codepad |
| 304 | 10 Jan 2012 | Thirteen Anagram: 12+1=11+2 and “twelve plus one | equals eleven plus two” are both anagrams | exercise solution codepad |
| 288 | 15 Nov 2011 | Phil Harvey’s Puzle: partition {1,…,16} into two sets of | equal size so each subset has the same sum, sum of squares and sum of cubes | exercise solution codepad |
| 460 | 26 Jul 2013 | Find X[i] = i In An Array: Find an array element | equal to its index | exercise solution codepad |
| 430 | 09 Apr 2013 | Cyclic Equality: Determine if two cyclic lists are | equal | exercise solution codepad |
| 431 | 12 Apr 2013 | Booth’s Algorithm: Determine of two cyclic lists are | equal | exercise solution codepad |
| 151 | 20 Jul 2010 | Solving Systems Of Linear | Equations: Matrix operations LU-decomposition and LUP-decomposition | exercise solution codepad |
| 284 | 01 Nov 2011 | RIP John McCarthy: Implementation of the “Maxwell’s | equations of software” from the LISP 1.5 Programmer’s Manual | exercise solution codepad |
| 328 | 03 Apr 2012 | Cornacchia’s Algorithm: Find solutions to quadratic diophantine | equations | exercise solution codepad |
| 90 | 01 Dec 2009 | Wolves And Rabbits: Analyze population dynamics using the Lotka-Volterra | equations | exercise solution codepad |
| 376 | 21 Sep 2012 | Autumn | Equinox: Calculate the length of the day; provides a time-handling library | exercise solution codepad |
| 111 | 16 Feb 2010 | Soundex: An algorithm to assign people’s last names to | equivalence classes based on similar spelling | exercise solution codepad |
| 2 | 19 Feb 2009 | Sieve of | Eratosthenes: A Scheme implementation of an ancient algorithm | exercise solution codepad |
| 108 | 05 Feb 2010 | Segmented Sieve Of | Eratosthenes: Extend the Sieve of Eratosthenes to large ranges of integers | exercise solution codepad |
| 110 | 12 Feb 2010 | Sieve of Atkin: A modern alternative to the Sieve of | Eratosthenes for computing prime numbers | exercise solution codepad |
| 279 | 14 Oct 2011 | The First N Primes: Embedding the Sieve of | Eratosthenes in a priority queue instead of an array | exercise solution codepad |
| 332 | 17 Apr 2012 | Twin Primes: A variant of the Sieve of | Eratosthenes to find pairs of primes that differ by two | exercise solution codepad |
| 108 | 05 Feb 2010 | Segmented Sieve Of Eratosthenes: Extend the Sieve of | Eratosthenes to large ranges of integers | exercise solution codepad |
| 303 | 06 Jan 2012 | Pritchard’s Wheel Sieve: An alternative to the Sieve of | Eratosthenes with a faster asymptotic time complexity | exercise solution codepad |
| 342 | 22 May 2012 | Hamming Codes: Send messages over a noisy channel without | error | exercise solution codepad |
| 84 | 10 Nov 2009 | Merge Sort: A fast, stable sorting algorithm, | especially well-suited to linked lists | exercise solution codepad |
| 349 | 19 Jun 2012 | Digits Of | E: Two algorithms that compute the digits of e, one bounded, the other unbounded | exercise solution codepad |
| 212 | 18 Feb 2011 | Two Factoring Games: Home primes and the | Euclid-Mullin sequence | exercise solution codepad |
| 214 | 25 Feb 2011 | Sieve Of | Euler: An alternate, and slow, method of sieving for primes | exercise solution codepad |
| 273 | 20 Sep 2011 | Project | Euler Problem 3: Thorough explanation of integer factorization by trial division | exercise solution codepad |
| 95 | 18 Dec 2009 | Calculating Logarithms: Use the methods of Newton and | Euler to calculate square roots and logarithms | exercise solution codepad |
| 445 | 31 May 2013 | The Seven Bridges of Königsberg: A classic graph puzzle due to Leonhard | Euler | exercise solution codepad |
| 49 | 10 Jul 2009 | The Golden Ratio: | Evaluate a continued fraction, based on my daughter’s math homework | exercise solution codepad |
| 128 | 16 Apr 2010 | Expression Evaluation: Parse and | evaluate an arithmetic expression with plus, minus, times, divide and parentheses | exercise solution codepad |
| 358 | 20 Jul 2012 | Infix Expression Evaluation: Write a parser to | evaluate arithmetic expressions | exercise solution codepad |
| 129 | 20 Apr 2010 | 145 Puzzle: Build and | evaluate expressions using the digits one through nine and the simple arithmetic operators | exercise solution codepad |
| 1 | 19 Feb 2009 | RPN Calculator: | Evaluate numeric expressions at the command line | exercise solution codepad |
| 404 | 01 Jan 2013 | Happy New Year!: Find expressions that | evaluate to 2013 | exercise solution codepad |
| 128 | 16 Apr 2010 | Expression | Evaluation: Parse and evaluate an arithmetic expression with plus, minus, times, divide and parentheses | exercise solution codepad |
| 358 | 20 Jul 2012 | Infix Expression | Evaluation: Write a parser to evaluate arithmetic expressions | exercise solution codepad |
| 337 | 04 May 2012 | Even-Odd Partition: Partition an array so all | even integers precede all odd integers | exercise solution codepad |
| 115 | 02 Mar 2010 | Goldbach’s Conjecture: Every | even number greater than two can be written as the sum of two primes | exercise solution codepad |
| 337 | 04 May 2012 | Even-Odd Partition: Partition an array so all even integers precede all odd integers | exercise solution codepad | |
| 4 | 19 Feb 2009 | Sudoku: A backtracking solution to | everybody’s favorite puzzle | exercise solution codepad |
| 115 | 02 Mar 2010 | Goldbach’s Conjecture: | Every even number greater than two can be written as the sum of two primes | exercise solution codepad |
| 266 | 26 Aug 2011 | Reverse | Every K Nodes Of A Linked List: Reverse the elements of a sub-list | exercise solution codepad |
| 356 | 13 Jul 2012 | The | Evolution Of Flibs: Use genetic programming to build a finite state machine | exercise solution codepad |
| 118 | 12 Mar 2010 | Traveling Salesman: Brute Force: | Examine all possible permutations to find the least-cost tour | exercise solution codepad |
| 315 | 17 Feb 2012 | Hailstones: | Examine the Collatz sequence | exercise solution codepad |
| 179 | 26 Oct 2010 | Benford’s Law: A useful mathematical oddity, and an | example of text file databases | exercise solution codepad |
| 251 | 05 Jul 2011 | Big Numbers: | Examples: A library for big integers: display factorials to 50, determine if a number is prime, and compute its prime factors | exercise solution codepad |
| 208 | 04 Feb 2011 | Excel Columns: Numbers as in | Excel column names, A=1, Z=26, IV=256 | exercise solution codepad |
| 208 | 04 Feb 2011 | Excel Columns: Numbers as in Excel column names, A=1, Z=26, IV=256 | exercise solution codepad | |
| 305 | 13 Jan 2012 | Excel’s XIRR Function: Numerical calculation of a derivative | exercise solution codepad | |
| 473 | 12 Sep 2013 | Diffie Hellman Key | Exchange: Manage secure exchanges on an insecure communications channel | exercise solution codepad |
| 473 | 12 Sep 2013 | Diffie Hellman Key Exchange: Manage secure | exchanges on an insecure communications channel | exercise solution codepad |
| 455 | 05 Jul 2013 | Weekdays Between Two Dates: Number of days between two dates, | excluding Saturday and Sunday | exercise solution codepad |
| 190 | 03 Dec 2010 | Maximum Sum Subsequence: A classic programming | exercise due to Jon Bentley | exercise solution codepad |
| 170 | 24 Sep 2010 | Alien Numbers: An | exercise from Google Code Jam | exercise solution codepad |
| 476 | 24 Sep 2013 | Finding Digit Strings In Powers Of Two: A simple | exercise from one of the competitive programming sites | exercise solution codepad |
| 195 | 21 Dec 2010 | Interval Arithmetic: An | exercise from SICP | exercise solution codepad |
| 364 | 10 Aug 2012 | Minimum Scalar Product: A simple | exercise from the practice round of Google Code Jam 2008 | exercise solution codepad |
| 296 | 13 Dec 2011 | Validating Telephone Numbers: An | exercise in input validation | exercise solution codepad |
| 137 | 01 Jun 2010 | Unwrapping A Spiral: An | exercise in recursion | exercise solution codepad |
| 144 | 25 Jun 2010 | Learn A New Language: Solve the | exercise of your choice in an unfamiliar language | exercise solution codepad |
| 316 | 21 Feb 2012 | Learn A New Language: Solve the | exercise of your choice in an unfamiliar language | exercise solution codepad |
| 46 | 30 Jun 2009 | Steve Yegge’s Phone-Screen Coding | Exercises: A simple set of programming exercises based on a blog entry by Steve Yegge | exercise solution codepad |
| 46 | 30 Jun 2009 | Steve Yegge’s Phone-Screen Coding Exercises: A simple set of programming | exercises based on a blog entry by Steve Yegge | exercise solution codepad |
| 146 | 02 Jul 2010 | Contents: Chronological Listing Of | Exercises: Blog management | exercise solution codepad |
| 51 | 17 Jul 2009 | International Mathematical Olympiad: Three | exercises from 1960s math competitions | exercise solution codepad |
| 439 | 10 May 2013 | MindCipher: Three | exercises from the MindCipher puzzle website | exercise solution codepad |
| 366 | 17 Aug 2012 | Two Random Exercises: Two | exercises involving random numbers | exercise solution codepad |
| 221 | 22 Mar 2011 | Two Kaprekar | Exercises: Kaprekar chains and Kaprekar numbers, from the Indian mathematician Dattaraya Ramchandra Kaprekar | exercise solution codepad |
| 175 | 12 Oct 2010 | Rotate An Array: A simple but tricky | exercise solved by an algorithm from the folklore of computing | exercise solution codepad |
| 438 | 07 May 2013 | Three List Exercises: Three simple | exercises on lists, for beginning programmers | exercise solution codepad |
| 268 | 02 Sep 2011 | Two String | Exercises: Remove duplicate characters, and squish adjacent blanks | exercise solution codepad |
| 438 | 07 May 2013 | Three List | Exercises: Three simple exercises on lists, for beginning programmers | exercise solution codepad |
| 211 | 15 Feb 2011 | Google Code Jam Qualification Round Africa 2010: Three simple | exercises | exercise solution codepad |
| 367 | 21 Aug 2012 | Two More Random | Exercises: Two bad random number generators, the middle-square method and RANDU | exercise solution codepad |
| 366 | 17 Aug 2012 | Two Random | Exercises: Two exercises involving random numbers | exercise solution codepad |
| 38 | 02 Jun 2009 | Pig Latin: A simple | exercise to solve a children’s game | exercise solution codepad |
| 140 | 11 Jun 2010 | N-Queens: Our version of a classic algorithmic | exercise | exercise solution codepad |
| 280 | 18 Oct 2011 | The Wall: Ray Panko’s spreadsheet | exercise | exercise solution codepad |
| 400 | 18 Dec 2012 | Petals Around The Rose: A game to celebrate our 400th | exercise | exercise solution codepad |
| 58 | 11 Aug 2009 | Uncle Bob’s Bowling Game Kata: Use pattern-matching on lists to solve a classic object-oriented programming | exercise | exercise solution codepad |
| 426 | 26 Mar 2013 | Google Code Jam Qualification Round Africa 2010, Revisited: Four solutions to a Google programming | exercise, with various time complexities | exercise solution codepad |
| 322 | 13 Mar 2012 | Perfect Power Predicate: Given a positive integer n, determine if there | exists a b and e for which be = n | exercise solution codepad |
| 44 | 23 Jun 2009 | The Mod Out System: | Expand a series of ranges | exercise solution codepad |
| 234 | 06 May 2011 | Entab And Detab: | expand tabs into spaces, and replace spaces with tabs | exercise solution codepad |
| 422 | 12 Mar 2013 | An Array Of Two Symbols: A learning | experience for binary search | exercise solution codepad |
| 273 | 20 Sep 2011 | Project Euler Problem 3: Thorough | explanation of integer factorization by trial division | exercise solution codepad |
| 324 | 20 Mar 2012 | Factoring Multiple RSA Keys: | Exploit a key-generation weakness to factor RSA keys | exercise solution codepad |
| 85 | 13 Nov 2009 | Two linear sorts: Count sort and radix sort | exploit the structure of integer keys | exercise solution codepad |
| 335 | 27 Apr 2012 | Trabb Pardo Knuth Algorithm: Trivial algorithm, used to | explore an unfamiliar language | exercise solution codepad |
| 454 | 02 Jul 2013 | Decoding Text-Speak: | Expnd txt wth only intl vwls and n dbld ltrs | exercise solution codepad |
| 201 | 11 Jan 2011 | Two Integrals: The | exponential and logarithmic integral, and an approximation for prime-pi | exercise solution codepad |
| 154 | 30 Jul 2010 | Fibonacci Numbers: Three algorithms taking | exponential time, linear time, and logarithmic time | exercise solution codepad |
| 418 | 26 Feb 2013 | An Odd Way To Square: Square a number without using multiplication or | exponentiation | exercise solution codepad |
| 74 | 06 Oct 2009 | MapReduce: Google’s famous system for parallelizing computations | expressed as a programming idiom | exercise solution codepad |
| 128 | 16 Apr 2010 | Expression Evaluation: Parse and evaluate an arithmetic expression with plus, minus, times, divide and parentheses | exercise solution codepad | |
| 358 | 20 Jul 2012 | Infix | Expression Evaluation: Write a parser to evaluate arithmetic expressions | exercise solution codepad |
| 1 | 19 Feb 2009 | RPN Calculator: Evaluate numeric | expressions at the command line | exercise solution codepad |
| 68 | 15 Sep 2009 | Regular | Expressions, Part 1: A parser for regular expressions | exercise solution codepad |
| 69 | 18 Sep 2009 | Regular | Expressions, Part 2: The corresponding matcher | exercise solution codepad |
| 70 | 22 Sep 2009 | Regular | Expressions, Part 3: A regular expression test suite | exercise solution codepad |
| 404 | 01 Jan 2013 | Happy New Year!: Find | expressions that evaluate to 2013 | exercise solution codepad |
| 358 | 20 Jul 2012 | Infix Expression Evaluation: Write a parser to evaluate arithmetic | expressions | exercise solution codepad |
| 68 | 15 Sep 2009 | Regular Expressions, Part 1: A parser for regular | expressions | exercise solution codepad |
| 129 | 20 Apr 2010 | 145 Puzzle: Build and evaluate | expressions using the digits one through nine and the simple arithmetic operators | exercise solution codepad |
| 70 | 22 Sep 2009 | Regular Expressions, Part 3: A regular | expression test suite | exercise solution codepad |
| 128 | 16 Apr 2010 | Expression Evaluation: Parse and evaluate an arithmetic | expression with plus, minus, times, divide and parentheses | exercise solution codepad |
| 292 | 29 Nov 2011 | AVL Trees, | Extended: Add additional functionality to AVL trees | exercise solution codepad |
| 120 | 19 Mar 2010 | Extending Pollard’s P−1 Factorization Algorithm: Add a second stage to allow larger factorizations | exercise solution codepad | |
| 108 | 05 Feb 2010 | Segmented Sieve Of Eratosthenes: | Extend the Sieve of Eratosthenes to large ranges of integers | exercise solution codepad |
| 484 | 22 Oct 2013 | David Gries’ Coffee Can Problem: Simulate the process of | extracting beans from a coffee can | exercise solution codepad |
| 72 | 29 Sep 2009 | Green | Eyes: A counting problem from high-school math | exercise solution codepad |
| 167 | 14 Sep 2010 | The Factorization Of | F7: Part 1: Our fortieth anniversary celebration of Morrison and Brillhart’s method of integer factorization by continued fractions | exercise solution codepad |
| 168 | 17 Sep 2010 | The Factorization Of | F7: Part 2: Our fortieth anniversary celebration of Morrison and Brillhart’s method of integer factorization by continued fractions | exercise solution codepad |
| 415 | 15 Feb 2013 | Facebook Hacker Cup 2013, Round 1, Problem 1: Count the ways to win a card game | exercise solution codepad | |
| 377 | 28 Sep 2012 | Pocklington’s N−1 Primality Prover: Prove n prime if n−1 can be partially | factored | exercise solution codepad |
| 429 | 05 Apr 2013 | Last Non-Zero Digit Of A | Factorial: Find the last non-zero digit of a factorial | exercise solution codepad |
| 251 | 05 Jul 2011 | Big Numbers: Examples: A library for big integers: display | factorials to 50, determine if a number is prime, and compute its prime factors | exercise solution codepad |
| 429 | 05 Apr 2013 | Last Non-Zero Digit Of A Factorial: Find the last non-zero digit of a | factorial | exercise solution codepad |
| 424 | 19 Mar 2013 | Quadratic Sieve: Basic version of a powerful | factoring algorithm | exercise solution codepad |
| 212 | 18 Feb 2011 | Two | Factoring Games: Home primes and the Euclid-Mullin sequence | exercise solution codepad |
| 324 | 20 Mar 2012 | Factoring Multiple RSA Keys: Exploit a key-generation weakness to factor RSA keys | exercise solution codepad | |
| 120 | 19 Mar 2010 | Extending Pollard’s P−1 | Factorization Algorithm: Add a second stage to allow larger factorizations | exercise solution codepad |
| 138 | 04 Jun 2010 | Williams’ P+1 | Factorization Algorithm: A factorization algorithm, similar to Pollard’s p−1 algorithm | exercise solution codepad |
| 161 | 24 Aug 2010 | Daniel Shanks’ Square Form | Factorization Algorithm: A simple and very fast factorization algorithm for integers between 105 and 1020 | exercise solution codepad |
| 52 | 21 Jul 2009 | Pollard’s P−1 | Factorization Algorithm: A simple factorization algorithm by John Pollard | exercise solution codepad |
| 236 | 13 May 2011 | Dixon’s | Factorization Algorithm: A slow, but theoretically important, algorithm for integer factorization | exercise solution codepad |
| 52 | 21 Jul 2009 | Pollard’s P−1 Factorization Algorithm: A simple | factorization algorithm by John Pollard | exercise solution codepad |
| 161 | 24 Aug 2010 | Daniel Shanks’ Square Form Factorization Algorithm: A simple and very fast | factorization algorithm for integers between 105 and 1020 | exercise solution codepad |
| 272 | 16 Sep 2011 | Pollard’s P−1 | Factorization Algoritihm, Revisited: An improved second stage that is much faster than the original | exercise solution codepad |
| 138 | 04 Jun 2010 | Williams’ P+1 Factorization Algorithm: A | factorization algorithm, similar to Pollard’s p−1 algorithm | exercise solution codepad |
| 55 | 31 Jul 2009 | Elliptic Curve | Factorization: A very simple implementation of elliptic curve factorization | exercise solution codepad |
| 167 | 14 Sep 2010 | The Factorization Of F7: Part 1: Our fortieth anniversary celebration of Morrison and Brillhart’s method of integer | factorization by continued fractions | exercise solution codepad |
| 168 | 17 Sep 2010 | The Factorization Of F7: Part 2: Our fortieth anniversary celebration of Morrison and Brillhart’s method of integer | factorization by continued fractions | exercise solution codepad |
| 34 | 19 May 2009 | Fermat’s Method: Integer | factorization by Fermat’s algorithm | exercise solution codepad |
| 273 | 20 Sep 2011 | Project Euler Problem 3: Thorough explanation of integer | factorization by trial division | exercise solution codepad |
| 132 | 30 Apr 2010 | Integer | Factorization: Combine trial division, Pollard’s rho and p−1 methods, and elliptic curves into a single factorization program | exercise solution codepad |
| 31 | 08 May 2009 | Wheel | Factorization: Find the factors of a number by a variant of trial division | exercise solution codepad |
| 43 | 19 Jun 2009 | Monte Carlo | Factorization: Integer factorization via Pollard’s rho algorithm | exercise solution codepad |
| 167 | 14 Sep 2010 | The | Factorization Of F7: Part 1: Our fortieth anniversary celebration of Morrison and Brillhart’s method of integer factorization by continued fractions | exercise solution codepad |
| 168 | 17 Sep 2010 | The | Factorization Of F7: Part 2: Our fortieth anniversary celebration of Morrison and Brillhart’s method of integer factorization by continued fractions | exercise solution codepad |
| 130 | 23 Apr 2010 | Modern Elliptic Curve | Factorization, Part 1: Elliptic arithmetic using Montgomery’s parameterization | exercise solution codepad |
| 131 | 27 Apr 2010 | Modern Elliptic Curve | Factorization, Part 2: Elliptic arithmetic using Montgomery’s parameterization | exercise solution codepad |
| 132 | 30 Apr 2010 | Integer Factorization: Combine trial division, Pollard’s rho and p−1 methods, and elliptic curves into a single | factorization program | exercise solution codepad |
| 120 | 19 Mar 2010 | Extending Pollard’s P−1 Factorization Algorithm: Add a second stage to allow larger | factorizations | exercise solution codepad |
| 204 | 21 Jan 0 | Pollard Rho, Revisited: Richard Brent’s variant of John Pollard’s rho algorithm for integer | factorization | exercise solution codepad |
| 236 | 13 May 2011 | Dixon’s Factorization Algorithm: A slow, but theoretically important, algorithm for integer | factorization | exercise solution codepad |
| 55 | 31 Jul 2009 | Elliptic Curve Factorization: A very simple implementation of elliptic curve | factorization | exercise solution codepad |
| 56 | 04 Aug 2009 | Lenstra’s Algorithm: Hendrik Lenstra’s original algorithm for elliptic curve | factorization | exercise solution codepad |
| 43 | 19 Jun 2009 | Monte Carlo Factorization: Integer | factorization via Pollard’s rho algorithm | exercise solution codepad |
| 286 | 08 Nov 2011 | Improved Standard Continuation: An improved version of elliptic curve | factorization, widely used in current practice | exercise solution codepad |
| 127 | 13 Apr 2010 | Traveling Salesman: Minimum Spanning Tree: Heuristic guarantees solution within | factor of two of optimal tour | exercise solution codepad |
| 324 | 20 Mar 2012 | Factoring Multiple RSA Keys: Exploit a key-generation weakness to | factor RSA keys | exercise solution codepad |
| 267 | 30 Aug 2011 | Hamming Numbers: List the numbers with no | factors greater than 5, a classic problem popularized by Dijkstra | exercise solution codepad |
| 31 | 08 May 2009 | Wheel Factorization: Find the | factors of a number by a variant of trial division | exercise solution codepad |
| 338 | 08 May 2012 | Factor Tables: Table of | factors of integers | exercise solution codepad |
| 251 | 05 Jul 2011 | Big Numbers: Examples: A library for big integers: display factorials to 50, determine if a number is prime, and compute its prime | factors | exercise solution codepad |
| 474 | 17 Sep 2013 | Smallest Consecutive Four-Factor Composites: Find consecutive numbers with four | factors | exercise solution codepad |
| 338 | 08 May 2012 | Factor Tables: Table of factors of integers | exercise solution codepad | |
| 456 | 12 Jul 2013 | Dynamic Hash Tables: Hash tables that grow and contract automatically to maintain a constant load | factor | exercise solution codepad |
| 372 | 07 Sep 2012 | The First Two Programs: Hello World and a | fahrenheit / celsius conversion table | exercise solution codepad |
| 74 | 06 Oct 2009 | MapReduce: Google’s | famous system for parallelizing computations expressed as a programming idiom | exercise solution codepad |
| 196 | 24 Dec 2010 | Tracking Santa: How | far does Santa travel on his annual journey? | exercise solution codepad |
| 63 | 28 Aug 2009 | String Search: Boyer-Moore: Search for a pattern in a text using a | fast and simple algorithm | exercise solution codepad |
| 303 | 06 Jan 2012 | Pritchard’s Wheel Sieve: An alternative to the Sieve of Eratosthenes with a | faster asymptotic time complexity | exercise solution codepad |
| 272 | 16 Sep 2011 | Pollard’s P−1 Factorization Algoritihm, Revisited: An improved second stage that is much | faster than the original | exercise solution codepad |
| 112 | 19 Feb 2010 | Sieve Of Atkin, Improved: A | faster version of the Sieve of Atkin | exercise solution codepad |
| 161 | 24 Aug 2010 | Daniel Shanks’ Square Form Factorization Algorithm: A simple and very | fast factorization algorithm for integers between 105 and 1020 | exercise solution codepad |
| 343 | 25 May 2012 | Ackermann’s Function: A | fast-growing function that tests recursion | exercise solution codepad |
| 478 | 01 Oct 2013 | Lucas Sequences: | Fast methods for calculating Lucas sequences, similar to Fibonacci sequences | exercise solution codepad |
| 396 | 04 Dec 2012 | Median Of Five: A very | fast method to compute the median of five items | exercise solution codepad |
| 84 | 10 Nov 2009 | Merge Sort: A | fast, stable sorting algorithm, especially well-suited to linked lists | exercise solution codepad |
| 4 | 19 Feb 2009 | Sudoku: A backtracking solution to everybody’s | favorite puzzle | exercise solution codepad |
| 250 | 01 Jul 2011 | Feet And Inches: Convert decimal inches to carpenters’ fractions | exercise solution codepad | |
| 34 | 19 May 2009 | Fermat’s Method: Integer factorization by | Fermat’s algorithm | exercise solution codepad |
| 34 | 19 May 2009 | Fermat’s Method: Integer factorization by Fermat’s algorithm | exercise solution codepad | |
| 238 | 20 May 0 | ISBN Validation: Validate ISBN book numbers, and | fetch author and title from the internet | exercise solution codepad |
| 182 | 05 Nov 2010 | Weather Forecast: | Fetch the weather forecast from the internet | exercise solution codepad |
| 41 | 12 Jun 2009 | Feynman’s Puzzle: A simple logic puzzle | exercise solution codepad | |
| 453 | 28 Jun 2013 | A Programming Puzzle: Write a function f so that | f(f(n)) = -n for all integers n. | exercise solution codepad |
| 180 | 29 Oct 2010 | Fibonacci Primes: Find primes among the | fibonacci numbers; includes the Park-Miller random number generator and Miller-Rabin primality checker | exercise solution codepad |
| 359 | 24 Jul 2012 | Zeckendorf Representation: Find the | fibonacci numbers that sum to a given number | exercise solution codepad |
| 154 | 30 Jul 2010 | Fibonacci Numbers: Three algorithms taking exponential time, linear time, and logarithmic time | exercise solution codepad | |
| 374 | 14 Sep 2012 | Tribonacci Numbers: A variant of | fibonacci numbers | exercise solution codepad |
| 180 | 29 Oct 2010 | Fibonacci Primes: Find primes among the fibonacci numbers; includes the Park-Miller random number generator and Miller-Rabin primality checker | exercise solution codepad | |
| 478 | 01 Oct 2013 | Lucas Sequences: Fast methods for calculating Lucas sequences, similar to | Fibonacci sequences | exercise solution codepad |
| 57 | 07 Aug 2009 | ADFGX: A classic German military | field cipher from the First World War | exercise solution codepad |
| 47 | 03 Jul 2009 | The Playfair Cipher: A classic military | field cipher | exercise solution codepad |
| 177 | 19 Oct 2010 | Text File Databases: Part 1: Functions to read records with | fields in various formats | exercise solution codepad |
| 159 | 17 Aug 2010 | Cut: Select | fields or characters from input lines | exercise solution codepad |
| 178 | 22 Oct 2010 | Text File Databases: Part 2: Various functions to process records with | fields | exercise solution codepad |
| 411 | 01 Feb 2013 | Hofstadter’s Sequence: An infinite | figure-figure sequence | exercise solution codepad |
| 222 | 25 Mar 2011 | Sum: The standard Unix V7 | file-checksum command | exercise solution codepad |
| 177 | 19 Oct 2010 | Text | File Databases: Part 1: Functions to read records with fields in various formats | exercise solution codepad |
| 178 | 22 Oct 2010 | Text | File Databases: Part 2: Various functions to process records with fields | exercise solution codepad |
| 179 | 26 Oct 2010 | Benford’s Law: A useful mathematical oddity, and an example of text | file databases | exercise solution codepad |
| 363 | 07 Aug 2012 | Make: The classic Unix utility for managing | file dependencies | exercise solution codepad |
| 387 | 02 Nov 2012 | Gasoline Mileage Log: Read a | file of gasoline purchases to compute miles per gallon | exercise solution codepad |
| 479 | 04 Oct 2013 | Calculating Statistics: Read a | file of integers and calculate mean, median and mode | exercise solution codepad |
| 136 | 28 May 2010 | Printing | Files: A simple program to list files, similar to the unix pr program | exercise solution codepad |
| 371 | 04 Sep 2012 | Fountain Codes: Transmit | files over a lossy channel | exercise solution codepad |
| 136 | 28 May 2010 | Printing Files: A simple program to list | files, similar to the unix pr program | exercise solution codepad |
| 114 | 26 Feb 2010 | Run Length Encoding: A simple compression method for text | files | exercise solution codepad |
| 139 | 08 Jun 2010 | Diff: Find the differences between two text | files | exercise solution codepad |
| 235 | 10 May 2011 | Comm: select or reject lines common to two sorted | files | exercise solution codepad |
| 382 | 16 Oct 2012 | Version Control: Economically store multiple versions of text | files | exercise solution codepad |
| 189 | 30 Nov 2010 | Form Letters: Merge a schema and a data | file to write form letters | exercise solution codepad |
| 225 | 05 Apr 2011 | Fortune: Print a random aphorism from a | file | exercise solution codepad |
| 16 | 17 Mar 2009 | Comma-Separated Values: Retrieve records from a comma-separated values | file using a finite-state machine | exercise solution codepad |
| 265 | 23 Aug 2011 | Knapsack: | Fill a knapsack to maximize the value of its contents | exercise solution codepad |
| 26 | 21 Apr 2009 | Probabilistic Spell Checking: A probabilistic spell-checker based on a Bloom | filter | exercise solution codepad |
| 64 | 01 Sep 2009 | String Search: Rabin-Karp: Our | final classic string-search algorithm | exercise solution codepad |
| 23 | 10 Apr 2009 | Anagrams: | Find anagrams in a dictionary | exercise solution codepad |
| 460 | 26 Jul 2013 | Find X[i] = i In An Array: | Find an array element equal to its index | exercise solution codepad |
| 313 | 10 Feb 2012 | Search In An Ascending Matrix: | Find a number in a matrix where both rows and columns are sorted in ascending order | exercise solution codepad |
| 474 | 17 Sep 2013 | Smallest Consecutive Four-Factor Composites: | Find consecutive numbers with four factors | exercise solution codepad |
| 314 | 14 Feb 2012 | Divisors: | Find divisors using a sieve | exercise solution codepad |
| 404 | 01 Jan 2013 | Happy New Year!: | Find expressions that evaluate to 2013 | exercise solution codepad |
| 340 | 15 May 2012 | Streaming Knapsack: | Find first possible combination from a stream that sums to a given integer | exercise solution codepad |
| 365 | 14 Aug 2012 | 4SUM: | Find four numbers in an array that sum to zero | exercise solution codepad |
| 476 | 24 Sep 2013 | Finding Digit Strings In Powers Of Two: A simple exercise from one of the competitive programming sites | exercise solution codepad | |
| 224 | 01 Apr 2011 | Maximum Difference In An Array: | Find maximum Xj &minus Xi, with i ≤ j | exercise solution codepad |
| 370 | 31 Aug 2012 | Once In A Blue Moon: | Find months with two full moons | exercise solution codepad |
| 332 | 17 Apr 2012 | Twin Primes: A variant of the Sieve of Eratosthenes to | find pairs of primes that differ by two | exercise solution codepad |
| 180 | 29 Oct 2010 | Fibonacci Primes: | Find primes among the fibonacci numbers; includes the Park-Miller random number generator and Miller-Rabin primality checker | exercise solution codepad |
| 334 | 24 Apr 2012 | Rhyming Dictionary: | Find rhyming words for poets | exercise solution codepad |
| 328 | 03 Apr 2012 | Cornacchia’s Algorithm: | Find solutions to quadratic diophantine equations | exercise solution codepad |
| 386 | 30 Oct 2012 | Pandigital Numbers: | Find sums that include all ten digits | exercise solution codepad |
| 271 | 13 Sep 2011 | Tetrahedral Numbers: | Find the base of the tetrahedron that contains 169179692512835000 balls | exercise solution codepad |
| 121 | 23 Mar 2010 | Texas Hold ‘Em: | Find the best poker hand | exercise solution codepad |
| 139 | 08 Jun 2010 | Diff: | Find the differences between two text files | exercise solution codepad |
| 274 | 23 Sep 2011 | Array Duplicates: | Find the duplicate integer in a large array | exercise solution codepad |
| 31 | 08 May 2009 | Wheel Factorization: | Find the factors of a number by a variant of trial division | exercise solution codepad |
| 359 | 24 Jul 2012 | Zeckendorf Representation: | Find the fibonacci numbers that sum to a given number | exercise solution codepad |
| 264 | 19 Aug 2011 | First Non-Repeating Character: | Find the first character in a string that doesn’t repeat later in the string | exercise solution codepad |
| 436 | 30 Apr 2013 | First Unrepeated Character In A String: | Find the first character that appears only once in a string | exercise solution codepad |
| 394 | 27 Nov 2012 | Amazon Interview Question: | Find the hundred points of a million closest to the origin | exercise solution codepad |
| 93 | 11 Dec 2009 | Selection: | Find the kth-largest item in a list | exercise solution codepad |
| 429 | 05 Apr 2013 | Last Non-Zero Digit Of A Factorial: | Find the last non-zero digit of a factorial | exercise solution codepad |
| 118 | 12 Mar 2010 | Traveling Salesman: Brute Force: Examine all possible permutations to | find the least-cost tour | exercise solution codepad |
| 176 | 15 Oct 2010 | Find The Longest Palindrome In A String: A beautiful linear-time algorithm due to Johan Jeuring | exercise solution codepad | |
| 218 | 11 Mar 2011 | Lowest Common Ancestor: | Find the lowest node in a binary search tree that is a common ancestor to two given nodes | exercise solution codepad |
| 352 | 29 Jun 2012 | Sliding Median: | Find the median of the most recent k items in a stream | exercise solution codepad |
| 344 | 00 May 2012 | Streaming Median: | Find the medians of a set of numbers as they arrive in a stream | exercise solution codepad |
| 125 | 06 Apr 2010 | Minimum Spanning Tree: Kruskal’s Algorithm: | Find the minimum-cost tree that includes all the nodes in a graph | exercise solution codepad |
| 126 | 09 Apr 2010 | Minimum Spanning Tree: Prim’s Algorithm: | Find the minimum-cost tree that includes all the nodes in a graph | exercise solution codepad |
| 482 | 15 Oct 2013 | Find The Minimum Difference: | Find the minimum difference between any item from on list and any item from another list | exercise solution codepad |
| 482 | 15 Oct 2013 | Find The Minimum Difference: Find the minimum difference between any item from on list and any item from another list | exercise solution codepad | |
| 360 | 27 Jul 2012 | Min Stack: Provide push and pop operations and | find the minimum element in linear time | exercise solution codepad |
| 35 | 22 May 2009 | The Next Palindrome: | Find the next palindromic number greater than the input number | exercise solution codepad |
| 122 | 26 Mar 2010 | The Next Prime: Efficiently | find the next prime number larger than a given number | exercise solution codepad |
| 414 | 12 Feb 2013 | Binary Search Tree: In-Order Predecessor And Successor: | Find the previous and next items in a tree | exercise solution codepad |
| 403 | 28 Dec 2012 | Three Wise Men: | Find the prices of their gifts | exercise solution codepad |
| 199 | 04 Jan 2011 | Dijkstra’s Algorithm: | Find the shortest path to all vertices of a graph from a single source, guest written by Graham Enos | exercise solution codepad |
| 318 | 28 Feb 2012 | Next Greater Permutation Of Digits: | Find the smallest number larger than the input number using the same digits as the input number | exercise solution codepad |
| 355 | 10 Jul 2012 | Sieve For Totients: | Find the totients of a large range of integers using a sieve | exercise solution codepad |
| 450 | 18 Jun 2013 | 3SUM: A classic of computer science: | find three numbers in an array that sum to zero | exercise solution codepad |
| 416 | 19 Feb 2013 | NPR Sunday Puzzle: | Find two words containing the letters a, b, c, d, e and f | exercise solution codepad |
| 380 | 09 Oct 2012 | Two Word Games: | Find words in a dictionary | exercise solution codepad |
| 460 | 26 Jul 2013 | Find X[i] = i In An Array: Find an array element equal to its index | exercise solution codepad | |
| 16 | 17 Mar 2009 | Comma-Separated Values: Retrieve records from a comma-separated values file using a | finite-state machine | exercise solution codepad |
| 356 | 13 Jul 2012 | The Evolution Of Flibs: Use genetic programming to build a | finite state machine | exercise solution codepad |
| 28 | 28 Apr 2009 | Morse Code: Translating the dots-and-dashes of Samuel | Finley Breese Morse’s telegraph code | exercise solution codepad |
| 373 | 11 Sep 2012 | The Sum Of The | First Billion Primes: Write a prime generator, and use it | exercise solution codepad |
| 264 | 19 Aug 2011 | First Non-Repeating Character: Find the | first character in a string that doesn’t repeat later in the string | exercise solution codepad |
| 436 | 30 Apr 2013 | First Unrepeated Character In A String: Find the | first character that appears only once in a string | exercise solution codepad |
| 209 | 08 Feb 2011 | The | First Computer Program: Ada Lovelace’s program to compute Bernoulli numbers for Charles Babbage’s Analytical Engine | exercise solution codepad |
| 147 | 06 Jul 2010 | Chaocipher: | First look at a ninety-two year old autokey-type cipher | exercise solution codepad |
| 264 | 19 Aug 2011 | First Non-Repeating Character: Find the first character in a string that doesn’t repeat later in the string | exercise solution codepad | |
| 279 | 14 Oct 2011 | The | First N Primes: Embedding the Sieve of Eratosthenes in a priority queue instead of an array | exercise solution codepad |
| 350 | 22 Jun 2012 | Billboard Challenge, Part 1: | First part of a Google recruiting challenge | exercise solution codepad |
| 340 | 15 May 2012 | Streaming Knapsack: Find | first possible combination from a stream that sums to a given integer | exercise solution codepad |
| 372 | 07 Sep 2012 | The | First Two Programs: Hello World and a fahrenheit / celsius conversion table | exercise solution codepad |
| 436 | 30 Apr 2013 | First Unrepeated Character In A String: Find the first character that appears only once in a string | exercise solution codepad | |
| 57 | 07 Aug 2009 | ADFGX: A classic German military field cipher from the | First World War | exercise solution codepad |
| 465 | 13 Aug 2013 | Unix Paths: Convert relative Unix path to absolute, by Robert | Fisher | exercise solution codepad |
| 396 | 04 Dec 2012 | Median Of | Five: A very fast method to compute the median of five items | exercise solution codepad |
| 229 | 19 Apr 2011 | Same | Five Digits: A math puzzle from New Scientist, solved by guest author Bob Miller | exercise solution codepad |
| 396 | 04 Dec 2012 | Median Of Five: A very fast method to compute the median of | five items | exercise solution codepad |
| 87 | 20 Nov 2009 | Master Mind, Part 2: Solve a Master Mind puzzle in | five probes or less | exercise solution codepad |
| 435 | 26 Apr 2013 | Correct Horse Battery Staple, Improved: | Fix a horrible bug in the original version | exercise solution codepad |
| 388 | 06 Nov 2012 | Fix Something Annoying: Take control of your computing environment by | fixing something that annoys you | exercise solution codepad |
| 388 | 06 Nov 2012 | Fix Something Annoying: Take control of your computing environment by fixing something that annoys you | exercise solution codepad | |
| 231 | 26 Apr 2011 | Miscellanea: | FizzBuzz, Prime Words, and Split A List | exercise solution codepad |
| 420 | 05 Mar 2013 | Dutch National | Flag: Classic ternary sort by Edsgar Dijkstra | exercise solution codepad |
| 215 | 01 Mar 2011 | An Early LISP Program: A program to | flatten a list, from the March 1960 LISP I manual | exercise solution codepad |
| 5 | 19 Feb 2009 | Flavius Josephus: Programming a cyclical list | exercise solution codepad | |
| 356 | 13 Jul 2012 | The Evolution Of | Flibs: Use genetic programming to build a finite state machine | exercise solution codepad |
| 103 | 19 Jan 2010 | Flight Planning: Computing the navigation triangle, by Jos Koot | exercise solution codepad | |
| 22 | 07 Apr 2009 | Flipping Pancakes: A sorting method analyzed by Bill Gates | exercise solution codepad | |
| 406 | 08 Jan 2013 | Floating Point Rounding: Round a | floating point number to a given decimal place | exercise solution codepad |
| 406 | 08 Jan 2013 | Floating Point Rounding: Round a floating point number to a given decimal place | exercise solution codepad | |
| 417 | 22 Feb 2013 | Floupia: Make change in a strange currency | exercise solution codepad | |
| 175 | 12 Oct 2010 | Rotate An Array: A simple but tricky exercise solved by an algorithm from the | folklore of computing | exercise solution codepad |
| 40 | 09 Jun 2009 | Longest Common Subsequence: A classic programming algorithm, with a solution that dates to | folklore | exercise solution codepad |
| 118 | 12 Mar 2010 | Traveling Salesman: Brute | Force: Examine all possible permutations to find the least-cost tour | exercise solution codepad |
| 61 | 21 Aug 2009 | String Search: Brute | Force: Search for a pattern in a text by comparing the pattern to the text at all possible positions | exercise solution codepad |
| 320 | 06 Mar 2012 | Union Route Cipher: Military cipher used successfully by Union | forces in the American Civil War | exercise solution codepad |
| 182 | 05 Nov 2010 | Weather | Forecast: Fetch the weather forecast from the internet | exercise solution codepad |
| 182 | 05 Nov 2010 | Weather Forecast: Fetch the weather | forecast from the internet | exercise solution codepad |
| 458 | 19 Jul 2013 | J K Rowling: Identify an author using | forensic linguistics | exercise solution codepad |
| 242 | 03 Jun 2011 | Mersenne Primes: The Lucas-Lehmer test for identifying primes of the | form 2n−1 | exercise solution codepad |
| 353 | 03 Jul 2012 | Chopping Words: | Form a chain of words by removing letters one at a time | exercise solution codepad |
| 475 | 20 Sep 2013 | McCarthy’s 91 Function: A recursive function designed as a test case for | formal verification | exercise solution codepad |
| 405 | 02 Jan 2013 | Four Points Determine A Square: Determine if four given points | form a square | exercise solution codepad |
| 408 | 18 Jan 2013 | Triangle Trilemma: Determine if three points | form a triangle, and classify it | exercise solution codepad |
| 177 | 19 Oct 2010 | Text File Databases: Part 1: Functions to read records with fields in various | formats | exercise solution codepad |
| 432 | 16 Apr 2013 | Date Formatting: Neatly write a date in a variety of | formats | exercise solution codepad |
| 341 | 18 May 2012 | Formatted Numeric Output: A minimal version of C’s printf function |
exercise solution codepad | |
| 432 | 16 Apr 2013 | Date | Formatting: Neatly write a date in a variety of formats | exercise solution codepad |
| 161 | 24 Aug 2010 | Daniel Shanks’ Square | Form Factorization Algorithm: A simple and very fast factorization algorithm for integers between 105 and 1020 | exercise solution codepad |
| 189 | 30 Nov 2010 | Form Letters: Merge a schema and a data file to write form letters | exercise solution codepad | |
| 189 | 30 Nov 2010 | Form Letters: Merge a schema and a data file to write | form letters | exercise solution codepad |
| 330 | 10 Apr 2012 | Galton: Simulate a marble-drop that | forms a bell-shaped curve | exercise solution codepad |
| 91 | 04 Dec 2009 | Autokey: A cipher in which the input text | forms part of the key | exercise solution codepad |
| 407 | 15 Jan 2013 | Translate CSV To Html: Convert between tabular storage | forms | exercise solution codepad |
| 101 | 12 Jan 2010 | Calculating Sines: Calculate sines using Taylor series and the triple-angle | formula, by Bill Cruise | exercise solution codepad |
| 256 | 22 Jul 2011 | Counting Primes Using Legendre’s | Formula: Recreate Legendre’s two-century old calculation of the number of primes less than a million | exercise solution codepad |
| 149 | 13 Jul 2010 | Word Cube: A game to | form words from a given set of letters | exercise solution codepad |
| 167 | 14 Sep 2010 | The Factorization Of F7: Part 1: Our | fortieth anniversary celebration of Morrison and Brillhart’s method of integer factorization by continued fractions | exercise solution codepad |
| 168 | 17 Sep 2010 | The Factorization Of F7: Part 2: Our | fortieth anniversary celebration of Morrison and Brillhart’s method of integer factorization by continued fractions | exercise solution codepad |
| 225 | 05 Apr 2011 | Fortune: Print a random aphorism from a file | exercise solution codepad | |
| 192 | 10 Dec 2010 | Two Random Selections: Use random number to select | fortunes and lotto winners | exercise solution codepad |
| 371 | 04 Sep 2012 | Fountain Codes: Transmit files over a lossy channel | exercise solution codepad | |
| 474 | 17 Sep 2013 | Smallest Consecutive | Four-Factor Composites: Find consecutive numbers with four factors | exercise solution codepad |
| 474 | 17 Sep 2013 | Smallest Consecutive Four-Factor Composites: Find consecutive numbers with | four factors | exercise solution codepad |
| 405 | 02 Jan 2013 | Four Points Determine A Square: Determine if | four given points form a square | exercise solution codepad |
| 344 | 01 Jun 2012 | Square Roots: | Four methods to compute square roots, including one from antiquity | exercise solution codepad |
| 365 | 14 Aug 2012 | 4SUM: Find | four numbers in an array that sum to zero | exercise solution codepad |
| 405 | 02 Jan 2013 | Four Points Determine A Square: Determine if four given points form a square | exercise solution codepad | |
| 426 | 26 Mar 2013 | Google Code Jam Qualification Round Africa 2010, Revisited: | Four solutions to a Google programming exercise, with various time complexities | exercise solution codepad |
| 299 | 23 Dec 2011 | Koch’s Snowflake: Draw a | fractal snowflake using PostScript | exercise solution codepad |
| 76 | 13 Oct 2009 | Bifid: A simple but effective | fractionating cipher, never used militarily | exercise solution codepad |
| 49 | 10 Jul 2009 | The Golden Ratio: Evaluate a continued | fraction, based on my daughter’s math homework | exercise solution codepad |
| 446 | 04 Jun 2013 | Egyptian | Fractions: An ancient method of representing fractions | exercise solution codepad |
| 167 | 14 Sep 2010 | The Factorization Of F7: Part 1: Our fortieth anniversary celebration of Morrison and Brillhart’s method of integer factorization by continued | fractions | exercise solution codepad |
| 168 | 17 Sep 2010 | The Factorization Of F7: Part 2: Our fortieth anniversary celebration of Morrison and Brillhart’s method of integer factorization by continued | fractions | exercise solution codepad |
| 205 | 25 Jan 2011 | Rational Numbers: A library of basic arithmetic and comparison of | fractions | exercise solution codepad |
| 250 | 01 Jul 2011 | Feet And Inches: Convert decimal inches to carpenters’ | fractions | exercise solution codepad |
| 446 | 04 Jun 2013 | Egyptian Fractions: An ancient method of representing | fractions | exercise solution codepad |
| 354 | 06 Jul 2012 | Fractran: Write an interpreter for John Horton Conway’s language | Fractran | exercise solution codepad |
| 354 | 06 Jul 2012 | Fractran: Write an interpreter for John Horton Conway’s language Fractran | exercise solution codepad | |
| 27 | 24 Apr 2009 | Word Hy-phen-a-tion By Com-pu-ter: | Frank Liang’s hyphenation algorithm, used in TeX | exercise solution codepad |
| 14 | 10 Mar 2009 | Word | Frequencies: Our interpretation of a problem solved by a classic unix pipeline | exercise solution codepad |
| 461 | 30 Jul 2013 | Who Buys The Croissants?: Simulate an important | Friday-morning question | exercise solution codepad |
| 15 | 13 Mar 2009 | Friday, the Thirteenth: A small calendar library, and a simple use of it | exercise solution codepad | |
| 248 | 24 Jun 2011 | Thank God It’s | Friday!: Three methods to calculate the day of the week | exercise solution codepad |
| 390 | 13 Nov 2012 | Frobenius Primality Test: A pseudoprimality test, stronger than Miller-Rabin | exercise solution codepad | |
| 453 | 28 Jun 2013 | A Programming Puzzle: Write a function | f so that f(f(n)) = -n for all integers n. | exercise solution codepad |
| 416 | 19 Feb 2013 | NPR Sunday Puzzle: Find two words containing the letters a, b, c, d, e and | f | exercise solution codepad |
| 370 | 31 Aug 2012 | Once In A Blue Moon: Find months with two | full moons | exercise solution codepad |
| 343 | 25 May 2012 | Ackermann’s | Function: A fast-growing function that tests recursion | exercise solution codepad |
| 113 | 23 Feb 2010 | Engineering A Sort | Function: A high-performance quicksort by Jon Bentley and Doug McIlroy | exercise solution codepad |
| 73 | 02 Oct 2009 | Red-Black Trees: A purely | functional dictionary data structure based on approximately-balanced trees | exercise solution codepad |
| 292 | 29 Nov 2011 | AVL Trees, Extended: Add additional | functionality to AVL trees | exercise solution codepad |
| 480 | 08 Oct 2013 | Functional-Style Linked Lists: A library of functions on functional-style lists made from immutable pairs | exercise solution codepad | |
| 480 | 08 Oct 2013 | Functional-Style Linked Lists: A library of functions on | functional-style lists made from immutable pairs | exercise solution codepad |
| 200 | 07 Jan 2011 | Counting Primes: The prime counting | function and nth-prime function | exercise solution codepad |
| 475 | 20 Sep 2013 | McCarthy’s 91 | Function: A recursive function designed as a test case for formal verification | exercise solution codepad |
| 184 | 12 Nov 2010 | Rowland’s Prime-Generating | Function: A sequence of ones and primes | exercise solution codepad |
| 384 | 23 Oct 2012 | Universal Hash | Function: Compute a hash for any native Scheme datatype | exercise solution codepad |
| 475 | 20 Sep 2013 | McCarthy’s 91 Function: A recursive | function designed as a test case for formal verification | exercise solution codepad |
| 453 | 28 Jun 2013 | A Programming Puzzle: Write a | function f so that f(f(n)) = -n for all integers n. | exercise solution codepad |
| 39 | 05 Jun 2009 | Ternary Search Tries: Build a | function library for handling ternary search tries | exercise solution codepad |
| 48 | 07 Jul 2009 | Modular Arithmetic: A | function library for performing modular addition, subtraction, multiplication, division, and square root | exercise solution codepad |
| 305 | 13 Jan 2012 | Excel’s XIRR | Function: Numerical calculation of a derivative | exercise solution codepad |
| 249 | 28 Jun 2011 | Big Numbers: | Functions: A library for big integers: gcd, powering, square root, random numbers | exercise solution codepad |
| 257 | 26 Jul 2011 | More Prime-Counting Functions: Prime counting | functions by Meissel and Lehmer, based on Legendre’s sum | exercise solution codepad |
| 188 | 26 Nov 2010 | Divisors And Totatives: The number-theoretic | functions divisors, numdivs, sumdivs, totatives, and totient | exercise solution codepad |
| 54 | 28 Jul 2009 | Elliptic Curves: Library of basic | functions on elliptic curves | exercise solution codepad |
| 480 | 08 Oct 2013 | Functional-Style Linked Lists: A library of | functions on functional-style lists made from immutable pairs | exercise solution codepad |
| 481 | 11 Oct 2013 | Imperative-Style Linked Lists: A library of | functions on imperative-style lists made from mutable pairs | exercise solution codepad |
| 257 | 26 Jul 2011 | More Prime-Counting | Functions: Prime counting functions by Meissel and Lehmer, based on Legendre’s sum | exercise solution codepad |
| 287 | 11 Nov 2011 | Generators: Write | functions that yield a value, but can then be re-entered | exercise solution codepad |
| 178 | 22 Oct 2010 | Text File Databases: Part 2: Various | functions to process records with fields | exercise solution codepad |
| 177 | 19 Oct 2010 | Text File Databases: Part 1: | Functions to read records with fields in various formats | exercise solution codepad |
| 239 | 24 May 2011 | Big Numbers: Getting Started: A library for big integers: representation, comparison, simple | functions | exercise solution codepad |
| 378 | 02 Oct 2012 | AKS Primality Prover, Part 1: Two | functions used by the AKS primality prover | exercise solution codepad |
| 343 | 25 May 2012 | Ackermann’s Function: A fast-growing | function that tests recursion | exercise solution codepad |
| 172 | 01 Oct 2010 | Oban Numbers: Numbers that omit the letter “o” when spelled, and a | function to convert numbers to words | exercise solution codepad |
| 142 | 18 Jun 0 | Parsing Command-Line Arguments: An old-style getopt | function | exercise solution codepad |
| 200 | 07 Jan 2011 | Counting Primes: The prime counting function and nth-prime | function | exercise solution codepad |
| 258 | 29 Jul 2011 | Approximating Pi: Approximating pi with the logarithmic integral and Riemann’s R | function | exercise solution codepad |
| 341 | 18 May 2012 | Formatted Numeric Output: A minimal version of C’s printf |
function | exercise solution codepad |
| 141 | 15 Jun 2010 | Natural Join: The | fundamental relational database operator | exercise solution codepad |
| 387 | 02 Nov 2012 | Gasoline Mileage Log: Read a file of gasoline purchases to compute miles per | gallon | exercise solution codepad |
| 330 | 10 Apr 2012 | Galton: Simulate a marble-drop that forms a bell-shaped curve | exercise solution codepad | |
| 285 | 04 Nov 2011 | Craps: Simulate a popular game of | gambling with dice | exercise solution codepad |
| 216 | 04 Mar 2011 | Chutes And Ladders: Simulate a child’s | game, and compute its statistics | exercise solution codepad |
| 486 | 29 Oct 2013 | The 16 | Game: Determine the odds in a scratch-off game | exercise solution codepad |
| 306 | 17 Jan 2012 | Guess The Number: Number-guessing | game for children learning arithmetic | exercise solution codepad |
| 298 | 20 Dec 2011 | Hangman: Classic Unix V7 | game for guessing words | exercise solution codepad |
| 17 | 20 Mar 2009 | Dodgson's Doublets: A word | game invented by the author of Alice in Wonderland | exercise solution codepad |
| 58 | 11 Aug 2009 | Uncle Bob’s Bowling | Game Kata: Use pattern-matching on lists to solve a classic object-oriented programming exercise | exercise solution codepad |
| 86 | 17 Nov 2009 | Master Mind, Part 1: Referee a two-player | game of deductive logic | exercise solution codepad |
| 285 | 04 Nov 2011 | Craps: Simulate a popular | game of gambling with dice | exercise solution codepad |
| 333 | 20 Apr 2012 | John Horton Conway’s | Game Of Life: The classic cellular automata | exercise solution codepad |
| 100 | 08 Jan 2010 | Nim: A two-player | game of mathematical logic | exercise solution codepad |
| 233 | 03 May 2011 | Squaring The Bishop: Charles Babbage’s | game of word squares | exercise solution codepad |
| 380 | 09 Oct 2012 | Two Word | Games: Find words in a dictionary | exercise solution codepad |
| 212 | 18 Feb 2011 | Two Factoring | Games: Home primes and the Euclid-Mullin sequence | exercise solution codepad |
| 400 | 18 Dec 2012 | Petals Around The Rose: A | game to celebrate our 400th exercise | exercise solution codepad |
| 149 | 13 Jul 2010 | Word Cube: A | game to form words from a given set of letters | exercise solution codepad |
| 38 | 02 Jun 2009 | Pig Latin: A simple exercise to solve a children’s | game | exercise solution codepad |
| 415 | 15 Feb 2013 | Facebook Hacker Cup 2013, Round 1, Problem 1: Count the ways to win a card | game | exercise solution codepad |
| 486 | 29 Oct 2013 | The 16 Game: Determine the odds in a scratch-off | game | exercise solution codepad |
| 29 | 01 May 2009 | Primality Checking: A probabilistic primality checker by | Gary Miller and Michael Rabin | exercise solution codepad |
| 387 | 02 Nov 2012 | Gasoline Mileage Log: Read a file of gasoline purchases to compute miles per gallon | exercise solution codepad | |
| 387 | 02 Nov 2012 | Gasoline Mileage Log: Read a file of | gasoline purchases to compute miles per gallon | exercise solution codepad |
| 22 | 07 Apr 2009 | Flipping Pancakes: A sorting method analyzed by Bill | Gates | exercise solution codepad |
| 135 | 25 May 2010 | GB_FLIP: Donald Knuth’s portable, high-quality random-number generator from the Stanford Graphbase | exercise solution codepad | |
| 249 | 28 Jun 2011 | Big Numbers: Functions: A library for big integers: | gcd, powering, square root, random numbers | exercise solution codepad |
| 11 | 27 Feb 2009 | Mark V. Shaney: | Generate parodies of a text using a Markov chain | exercise solution codepad |
| 385 | 26 Oct 2012 | Pythatorean Triples: | Generate primitive pythagorean triples by an ancient algorithm | exercise solution codepad |
| 117 | 09 Mar 2010 | Lexicographic Permutations: Continually | generate the next permutation using an algorithm by Dijkstra | exercise solution codepad |
| 180 | 29 Oct 2010 | Fibonacci Primes: Find primes among the fibonacci numbers; includes the Park-Miller random number | generator and Miller-Rabin primality checker | exercise solution codepad |
| 373 | 11 Sep 2012 | The Sum Of The First Billion Primes: Write a prime | generator, and use it | exercise solution codepad |
| 232 | 29 Apr 2011 | Rule 30 RNG: The random number | generator from Mathematica, based on Stephen Wolfram’s Rule 30 cellular automata | exercise solution codepad |
| 135 | 25 May 2010 | GB_FLIP: Donald Knuth’s portable, high-quality random-number | generator from the Stanford Graphbase | exercise solution codepad |
| 173 | 05 Oct 2010 | George Marsaglia’s Random Number | Generators: Nine high-quality RNGs in nineteen lines of code | exercise solution codepad |
| 367 | 21 Aug 2012 | Two More Random Exercises: Two bad random number | generators, the middle-square method and RANDU | exercise solution codepad |
| 287 | 11 Nov 2011 | Generators: Write functions that yield a value, but can then be re-entered | exercise solution codepad | |
| 434 | 23 Apr 2013 | Correct Horse Battery Staple: Randall Munro’s passphrase | generator | exercise solution codepad |
| 60 | 18 Aug 2009 | Blum Blum Shub: Stream cipher based on a cryptographically secure pseudo-random number | generator | exercise solution codepad |
| 270 | 09 Sep 2011 | Mersenne Twister: Random number | generator with very long period, useful for simulations | exercise solution codepad |
| 356 | 13 Jul 2012 | The Evolution Of Flibs: Use | genetic programming to build a finite state machine | exercise solution codepad |
| 173 | 05 Oct 2010 | George Marsaglia’s Random Number Generators: Nine high-quality RNGs in nineteen lines of code | exercise solution codepad | |
| 463 | 06 Aug 2013 | Sophie | Germain Primes: Primes p such that 2p+1 is also prime | exercise solution codepad |
| 57 | 07 Aug 2009 | ADFGX: A classic | German military field cipher from the First World War | exercise solution codepad |
| 142 | 18 Jun 0 | Parsing Command-Line Arguments: An old-style | getopt function | exercise solution codepad |
| 239 | 24 May 2011 | Big Numbers: | Getting Started: A library for big integers: representation, comparison, simple functions | exercise solution codepad |
| 18 | 23 Mar 2009 | Binary Search: A simple task, easy to | get wrong | exercise solution codepad |
| 402 | 25 Dec 2012 | The Twelve Days of Christmas: Count the | gifts of Christmas | exercise solution codepad |
| 403 | 28 Dec 2012 | Three Wise Men: Find the prices of their | gifts | exercise solution codepad |
| 309 | 27 Jan 2012 | Anagram Phrases: | “Gin grammar prop six” is an anagram for “Programming Praxis” | exercise solution codepad |
| 322 | 13 Mar 2012 | Perfect Power Predicate: | Given a positive integer n, determine if there exists a b and e for which be = n | exercise solution codepad |
| 174 | 08 Oct 2010 | Zeller’s Congruence: Calculate the day of the week for a | given date | exercise solution codepad |
| 406 | 08 Jan 2013 | Floating Point Rounding: Round a floating point number to a | given decimal place | exercise solution codepad |
| 339 | 11 May 2012 | partitions: Sets of integers that sum to a | given integer | exercise solution codepad |
| 340 | 15 May 2012 | Streaming Knapsack: Find first possible combination from a stream that sums to a | given integer | exercise solution codepad |
| 218 | 11 Mar 2011 | Lowest Common Ancestor: Find the lowest node in a binary search tree that is a common ancestor to two | given nodes | exercise solution codepad |
| 122 | 26 Mar 2010 | The Next Prime: Efficiently find the next prime number larger than a | given number | exercise solution codepad |
| 359 | 24 Jul 2012 | Zeckendorf Representation: Find the fibonacci numbers that sum to a | given number | exercise solution codepad |
| 405 | 02 Jan 2013 | Four Points Determine A Square: Determine if four | given points form a square | exercise solution codepad |
| 149 | 13 Jul 2010 | Word Cube: A game to form words from a | given set of letters | exercise solution codepad |
| 248 | 24 Jun 2011 | Thank | God It’s Friday!: Three methods to calculate the day of the week | exercise solution codepad |
| 115 | 02 Mar 2010 | Goldbach’s Conjecture: Every even number greater than two can be written as the sum of two primes | exercise solution codepad | |
| 49 | 10 Jul 2009 | The | Golden Ratio: Evaluate a continued fraction, based on my daughter’s math homework | exercise solution codepad |
| 364 | 10 Aug 2012 | Minimum Scalar Product: A simple exercise from the practice round of | Google Code Jam 2008 | exercise solution codepad |
| 426 | 26 Mar 2013 | Google Code Jam Qualification Round Africa 2010, Revisited: Four solutions to a Google programming exercise, with various time complexities | exercise solution codepad | |
| 211 | 15 Feb 2011 | Google Code Jam Qualification Round Africa 2010: Three simple exercises | exercise solution codepad | |
| 170 | 24 Sep 2010 | Alien Numbers: An exercise from | Google Code Jam | exercise solution codepad |
| 426 | 26 Mar 2013 | Google Code Jam Qualification Round Africa 2010, Revisited: Four solutions to a | Google programming exercise, with various time complexities | exercise solution codepad |
| 350 | 22 Jun 2012 | Billboard Challenge, Part 1: First part of a | Google recruiting challenge | exercise solution codepad |
| 351 | 26 Jun 2012 | Billboard Challenge, Part 2: Second part of a | Google recruiting challenge | exercise solution codepad |
| 74 | 06 Oct 2009 | MapReduce: | Google’s famous system for parallelizing computations expressed as a programming idiom | exercise solution codepad |
| 97 | 29 Dec 2009 | A Statisticle Speling Korrecter: Peter Norvig’s version of the | Google spelling suggester | exercise solution codepad |
| 24 | 14 Apr 2009 | Google Treasure Hunt 2008 Puzzle 4: A prime-number puzzle | exercise solution codepad | |
| 243 | 07 Jun 2011 | Big Numbers: Division: A library for big integers: the | grade-school algorithm for long division | exercise solution codepad |
| 241 | 31 May 2011 | Big Numbers: Addition, Subtraction And Multiplication: A library for big integers: | grade-school algorithms for addition, subtraction, and multiplication | exercise solution codepad |
| 289 | 18 Nov 2011 | Grade School Multiplication: Display the steps in the | grade school multiplication algorithm | exercise solution codepad |
| 289 | 18 Nov 2011 | Grade School Multiplication: Display the steps in the grade school multiplication algorithm | exercise solution codepad | |
| 199 | 04 Jan 2011 | Dijkstra’s Algorithm: Find the shortest path to all vertices of a graph from a single source, guest written by | Graham Enos | exercise solution codepad |
| 246 | 17 Jun 2011 | Adi Shamir’s Threshold Scheme: Use cryptography to share a secret, by | Graham Enos | exercise solution codepad |
| 153 | 27 Jul 2010 | HAMURABI.BAS: Manage | grain and land in ancient Sumeria | exercise solution codepad |
| 309 | 27 Jan 2012 | Anagram Phrases: “Gin | grammar prop six” is an anagram for “Programming Praxis” | exercise solution codepad |
| 135 | 25 May 2010 | GB_FLIP: Donald Knuth’s portable, high-quality random-number generator from the Stanford | Graphbase | exercise solution codepad |
| 186 | 19 Nov 2010 | Topological Sort: Order the edges of a | graph by their precedence relationship | exercise solution codepad |
| 199 | 04 Jan 2011 | Dijkstra’s Algorithm: Find the shortest path to all vertices of a | graph from a single source, guest written by Graham Enos | exercise solution codepad |
| 302 | 03 Jan 2012 | Turtle | Graphics: A minimal library of turtle graphics, as in the Logo language, implemented in PostScript | exercise solution codepad |
| 302 | 03 Jan 2012 | Turtle Graphics: A minimal library of turtle | graphics, as in the Logo language, implemented in PostScript | exercise solution codepad |
| 357 | 17 Jul 2012 | Breshenham’s Line-Drawing Algorithm: Draw straight lines using raster | graphics | exercise solution codepad |
| 445 | 31 May 2013 | The Seven Bridges of Königsberg: A classic | graph puzzle due to Leonhard Euler | exercise solution codepad |
| 125 | 06 Apr 2010 | Minimum Spanning Tree: Kruskal’s Algorithm: Find the minimum-cost tree that includes all the nodes in a | graph | exercise solution codepad |
| 126 | 09 Apr 2010 | Minimum Spanning Tree: Prim’s Algorithm: Find the minimum-cost tree that includes all the nodes in a | graph | exercise solution codepad |
| 10 | 24 Feb 2009 | Mardi | Gras: Compute the date of Easter | exercise solution codepad |
| 318 | 28 Feb 2012 | Next | Greater Permutation Of Digits: Find the smallest number larger than the input number using the same digits as the input number | exercise solution codepad |
| 267 | 30 Aug 2011 | Hamming Numbers: List the numbers with no factors | greater than 5, a classic problem popularized by Dijkstra | exercise solution codepad |
| 35 | 22 May 2009 | The Next Palindrome: Find the next palindromic number | greater than the input number | exercise solution codepad |
| 115 | 02 Mar 2010 | Goldbach’s Conjecture: Every even number | greater than two can be written as the sum of two primes | exercise solution codepad |
| 102 | 15 Jan 2010 | Three Binary Algorithms: Multiplication, division and | greatest common divisor using binary arithmetic | exercise solution codepad |
| 451 | 21 Jun 2013 | Multiple Polynomial Quadratic Sieve: A | greatly improved version of the basic quadratic sieve | exercise solution codepad |
| 119 | 16 Mar 2010 | Traveling Salesman: Nearest Neighbor: A | greedy heuristic that builds a path by always choosing the nearest unvisited point | exercise solution codepad |
| 72 | 29 Sep 2009 | Green Eyes: A counting problem from high-school math | exercise solution codepad | |
| 183 | 09 Nov 2010 | Subset Sums: Third level of the | Greplin Programming Challenge, using dynamic programming and memoization | exercise solution codepad |
| 71 | 25 Sep 2009 | Grep: Simple version of the classic unix regular-expression matching utility | exercise solution codepad | |
| 466 | 16 Aug 2013 | Monkey | Grid Puzzle: How many points can the monkey access? | exercise solution codepad |
| 484 | 22 Oct 2013 | David | Gries’ Coffee Can Problem: Simulate the process of extracting beans from a coffee can | exercise solution codepad |
| 77 | 16 Oct 2009 | Growable Arrays: Arrays that grow and shrink at run-time, with O(log n) complexity per operation | exercise solution codepad | |
| 456 | 12 Jul 2013 | Dynamic Hash Tables: Hash tables that | grow and contract automatically to maintain a constant load factor | exercise solution codepad |
| 77 | 16 Oct 2009 | Growable Arrays: Arrays that | grow and shrink at run-time, with O(log n) complexity per operation | exercise solution codepad |
| 228 | 15 Apr 2011 | Partition Numbers: Calculate the partition numbers, using memoization via | growing arrays | exercise solution codepad |
| 207 | 01 Feb 2011 | Cuckoo Hashing: A hashing system with | guaranteed constant-time lookup and amortized constant-time insertion | exercise solution codepad |
| 395 | 30 Nov 2012 | Selection, Revisited: A | guaranteed linear-time algorithm for selection | exercise solution codepad |
| 83 | 06 Nov 2009 | Heap Sort: A | guaranteed O(log n) sorting method based on priority queues | exercise solution codepad |
| 127 | 13 Apr 2010 | Traveling Salesman: Minimum Spanning Tree: Heuristic | guarantees solution within factor of two of optimal tour | exercise solution codepad |
| 298 | 20 Dec 2011 | Hangman: Classic Unix V7 game for | guessing words | exercise solution codepad |
| 306 | 17 Jan 2012 | Guess The Number: Number-guessing game for children learning arithmetic | exercise solution codepad | |
| 229 | 19 Apr 2011 | Same Five Digits: A math puzzle from New Scientist, solved by | guest author Bob Miller | exercise solution codepad |
| 199 | 04 Jan 2011 | Dijkstra’s Algorithm: Find the shortest path to all vertices of a graph from a single source, | guest written by Graham Enos | exercise solution codepad |
| 415 | 15 Feb 2013 | Hacker Cup 2013, Round 1, Problem 1: Count the ways to win a card game | exercise solution codepad | |
| 464 | 09 Aug 2013 | Bit | Hacks: A time-honored tradition, and useful | exercise solution codepad |
| 467 | 20 Aug 2013 | More Bit | Hacks: A time-honored tradition, and useful | exercise solution codepad |
| 471 | 03 Sep 2013 | Yet More Bit | Hacks: A time-honored tradition, and useful | exercise solution codepad |
| 315 | 17 Feb 2012 | Hailstones: Examine the Collatz sequence | exercise solution codepad | |
| 169 | 21 Sep 2010 | Kaprekar Numbers: Square the number and add the digits in | halves | exercise solution codepad |
| 301 | 30 Dec 2011 | Split: Split a list in two | halves using the tortoise-and-hare algorithm | exercise solution codepad |
| 342 | 22 May 2012 | Hamming Codes: Send messages over a noisy channel without error | exercise solution codepad | |
| 267 | 30 Aug 2011 | Hamming Numbers: List the numbers with no factors greater than 5, a classic problem popularized by Dijkstra | exercise solution codepad | |
| 153 | 27 Jul 2010 | HAMURABI.BAS: Manage grain and land in ancient Sumeria | exercise solution codepad | |
| 39 | 05 Jun 2009 | Ternary Search Tries: Build a function library for | handling ternary search tries | exercise solution codepad |
| 244 | 10 Jun 2011 | Steganography: A | hand-operable system that combines cryptography and steganography | exercise solution codepad |
| 121 | 23 Mar 2010 | Texas Hold ‘Em: Find the best poker | hand | exercise solution codepad |
| 37 | 29 May 2009 | Double Transposition Cipher: A simple and effective cipher, easy to perform by | hand | exercise solution codepad |
| 300 | 27 Dec 2011 | Cheating | Hangman: A version of Hangman that nearly always wins | exercise solution codepad |
| 298 | 20 Dec 2011 | Hangman: Classic Unix V7 game for guessing words | exercise solution codepad | |
| 300 | 27 Dec 2011 | Cheating Hangman: A version of | Hangman that nearly always wins | exercise solution codepad |
| 279 | 11 Oct 2011 | Tower Of | Hanoi: Classic demonstration of recursion | exercise solution codepad |
| 404 | 01 Jan 2013 | Happy New Year!: Find expressions that evaluate to 2013 | exercise solution codepad | |
| 152 | 23 Jul 2010 | Happy Numbers: Iterating the sum of the squares of the digits terminates with one | exercise solution codepad | |
| 288 | 15 Nov 2011 | Phil | Harvey’s Puzle: partition {1,…,16} into two sets of equal size so each subset has the same sum, sum of squares and sum of cubes | exercise solution codepad |
| 123 | 30 Mar 2010 | Passover: Calculate the dates of the Jewish holidays Rosh | Hashanah and Passover | exercise solution codepad |
| 384 | 23 Oct 2012 | Universal Hash Function: Compute a | hash for any native Scheme datatype | exercise solution codepad |
| 384 | 23 Oct 2012 | Universal | Hash Function: Compute a hash for any native Scheme datatype | exercise solution codepad |
| 207 | 01 Feb 2011 | Cuckoo | Hashing: A hashing system with guaranteed constant-time lookup and amortized constant-time insertion | exercise solution codepad |
| 207 | 01 Feb 2011 | Cuckoo Hashing: A | hashing system with guaranteed constant-time lookup and amortized constant-time insertion | exercise solution codepad |
| 165 | 07 Sep 2010 | Data Encryption Standard: Part 3: Triple DES and cryptographic | hashing | exercise solution codepad |
| 456 | 12 Jul 2013 | Dynamic | Hash Tables: Hash tables that grow and contract automatically to maintain a constant load factor | exercise solution codepad |
| 462 | 02 Aug 2013 | Ordered | Hash Tables: Knuth’s improvement to simple hash tables | exercise solution codepad |
| 456 | 12 Jul 2013 | Dynamic Hash Tables: | Hash tables that grow and contract automatically to maintain a constant load factor | exercise solution codepad |
| 462 | 02 Aug 2013 | Ordered Hash Tables: Knuth’s improvement to simple | hash tables | exercise solution codepad |
| 368 | 24 Aug 2012 | Hash Tables With Open Addressing: An alternative to | hash tables with chaining for collision resolution | exercise solution codepad |
| 368 | 24 Aug 2012 | Hash Tables With Open Addressing: An alternative to hash tables with chaining for collision resolution | exercise solution codepad | |
| 288 | 15 Nov 2011 | Phil Harvey’s Puzle: partition {1,…,16} into two sets of equal size so each subset | has the same sum, sum of squares and sum of cubes | exercise solution codepad |
| 155 | 03 Aug 2010 | Carl Hewitt’s Same-Fringe Problem: Do two trees | have the same leaves, solved with streams (lazy lists) | exercise solution codepad |
| 369 | 28 Aug 2012 | Random Access Lists: A clever data structure that provides O(log n) access to items in a sequential list, along with cons, | head and tail | exercise solution codepad |
| 345 | 05 Jun 2012 | Binomial | Heaps: Another algorithm for maintaining priority queues | exercise solution codepad |
| 171 | 28 Sep 2010 | Maxiphobic | Heaps: A priority-queue data structure, similar to leftist heaps, due to Chris Okasaki | exercise solution codepad |
| 59 | 14 Aug 2009 | Pairing | Heaps: A standard algorithm for maintaining priority queues | exercise solution codepad |
| 171 | 28 Sep 2010 | Maxiphobic Heaps: A priority-queue data structure, similar to leftist | heaps, due to Chris Okasaki | exercise solution codepad |
| 83 | 06 Nov 2009 | Heap Sort: A guaranteed O(log n) sorting method based on priority queues | exercise solution codepad | |
| 410 | 25 Jan 2013 | Imperative | Heaps: The classing implementation of priority queues embedded in an array | exercise solution codepad |
| 409 | 22 Jan 2013 | Splay | Heaps: Yet another implementation of priority queues | exercise solution codepad |
| 473 | 12 Sep 2013 | Diffie | Hellman Key Exchange: Manage secure exchanges on an insecure communications channel | exercise solution codepad |
| 372 | 07 Sep 2012 | The First Two Programs: | Hello World and a fahrenheit / celsius conversion table | exercise solution codepad |
| 56 | 04 Aug 2009 | Lenstra’s Algorithm: | Hendrik Lenstra’s original algorithm for elliptic curve factorization | exercise solution codepad |
| 261 | 09 Aug 2011 | Hett’s Problem 1.28: Sorting a list of lists according to length of sublists | exercise solution codepad | |
| 398 | 11 Dec 2012 | Stepwise Program Development: A | Heuristic Algorithm: A backtracking solution to a problem of Wirth | exercise solution codepad |
| 127 | 13 Apr 2010 | Traveling Salesman: Minimum Spanning Tree: | Heuristic guarantees solution within factor of two of optimal tour | exercise solution codepad |
| 119 | 16 Mar 2010 | Traveling Salesman: Nearest Neighbor: A greedy | heuristic that builds a path by always choosing the nearest unvisited point | exercise solution codepad |
| 155 | 03 Aug 2010 | Carl | Hewitt’s Same-Fringe Problem: Do two trees have the same leaves, solved with streams (lazy lists) | exercise solution codepad |
| 433 | 19 Apr 2013 | Integer Roots: Calculate square roots and | higher roots in integer arithmetic | exercise solution codepad |
| 113 | 23 Feb 2010 | Engineering A Sort Function: A | high-performance quicksort by Jon Bentley and Doug McIlroy | exercise solution codepad |
| 135 | 25 May 2010 | GB_FLIP: Donald Knuth’s portable, | high-quality random-number generator from the Stanford Graphbase | exercise solution codepad |
| 173 | 05 Oct 2010 | George Marsaglia’s Random Number Generators: Nine | high-quality RNGs in nineteen lines of code | exercise solution codepad |
| 72 | 29 Sep 2009 | Green Eyes: A counting problem from | high-school math | exercise solution codepad |
| 362 | 03 Aug 2012 | SEND + MORE = MONEY, Part 2: Two | hill-climbing solutions to a classic problem of recreational mathematics | exercise solution codepad |
| 427 | 29 Mar 2013 | One Million | Hits: Celebrating our one-millionth hit! | exercise solution codepad |
| 427 | 29 Mar 2013 | One Million Hits: Celebrating our one-millionth | hit! | exercise solution codepad |
| 82 | 03 Nov 2009 | Quick Sort: Tony | Hoare’s divide-and-conquer sorting algorithm | exercise solution codepad |
| 411 | 01 Feb 2013 | Hofstadter’s Sequence: An infinite figure-figure sequence | exercise solution codepad | |
| 121 | 23 Mar 2010 | Texas | Hold ‘Em: Find the best poker hand | exercise solution codepad |
| 123 | 30 Mar 2010 | Passover: Calculate the dates of the Jewish | holidays Rosh Hashanah and Passover | exercise solution codepad |
| 212 | 18 Feb 2011 | Two Factoring Games: | Home primes and the Euclid-Mullin sequence | exercise solution codepad |
| 49 | 10 Jul 2009 | The Golden Ratio: Evaluate a continued fraction, based on my daughter’s math | homework | exercise solution codepad |
| 435 | 26 Apr 2013 | Correct Horse Battery Staple, Improved: Fix a | horrible bug in the original version | exercise solution codepad |
| 435 | 26 Apr 2013 | Correct | Horse Battery Staple, Improved: Fix a horrible bug in the original version | exercise solution codepad |
| 434 | 23 Apr 2013 | Correct | Horse Battery Staple: Randall Munro’s passphrase generator | exercise solution codepad |
| 333 | 20 Apr 2012 | John | Horton Conway’s Game Of Life: The classic cellular automata | exercise solution codepad |
| 354 | 06 Jul 2012 | Fractran: Write an interpreter for John | Horton Conway’s language Fractran | exercise solution codepad |
| 219 | 15 Mar 2011 | Look And Say: Calculate John | Horton Conway’s "Look and Say" sequence | exercise solution codepad |
| 227 | 12 Apr 2011 | House Of Representatives: Apportion representatives by the Huntington-Hill method | exercise solution codepad | |
| 196 | 24 Dec 2010 | Tracking Santa: | How far does Santa travel on his annual journey? | exercise solution codepad |
| 466 | 16 Aug 2013 | Monkey Grid Puzzle: | How many points can the monkey access? | exercise solution codepad |
| 331 | 13 Apr 2012 | McNugget Numbers, Revisited: The classic coin problem in disguise, | how to count the number of ways to make change | exercise solution codepad |
| 407 | 15 Jan 2013 | Translate CSV To | Html: Convert between tabular storage forms | exercise solution codepad |
| 394 | 27 Nov 2012 | Amazon Interview Question: Find the | hundred points of a million closest to the origin | exercise solution codepad |
| 24 | 14 Apr 2009 | Google Treasure | Hunt 2008 Puzzle 4: A prime-number puzzle | exercise solution codepad |
| 227 | 12 Apr 2011 | House Of Representatives: Apportion representatives by the | Huntington-Hill method | exercise solution codepad |
| 191 | 07 Dec 2010 | Ullman’s Puzzle: It never | hurts to sort | exercise solution codepad |
| 27 | 24 Apr 2009 | Word Hy-phen-a-tion By Com-pu-ter: Frank Liang’s | hyphenation algorithm, used in TeX | exercise solution codepad |
| 27 | 24 Apr 2009 | Word | Hy-phen-a-tion By Com-pu-ter: Frank Liang’s hyphenation algorithm, used in TeX | exercise solution codepad |
| 458 | 19 Jul 2013 | J K Rowling: | Identify an author using forensic linguistics | exercise solution codepad |
| 242 | 03 Jun 2011 | Mersenne Primes: The Lucas-Lehmer test for | identifying primes of the form 2n−1 | exercise solution codepad |
| 74 | 06 Oct 2009 | MapReduce: Google’s famous system for parallelizing computations expressed as a programming | idiom | exercise solution codepad |
| 197 | 28 Dec 2010 | Carmichael Numbers: Composite numbers such that an-1 ≡ 1 (mod n) | if a is prime to n | exercise solution codepad |
| 336 | 01 May 2012 | Legendre’s Symbol: Determine | if a number is a quadratic residue mod m | exercise solution codepad |
| 156 | 06 Aug 2010 | Two Powering Predicates: Determine | if a number is a square or a prime power | exercise solution codepad |
| 251 | 05 Jul 2011 | Big Numbers: Examples: A library for big integers: display factorials to 50, determine | if a number is prime, and compute its prime factors | exercise solution codepad |
| 405 | 02 Jan 2013 | Four Points Determine A Square: Determine | if four given points form a square | exercise solution codepad |
| 377 | 28 Sep 2012 | Pocklington’s N−1 Primality Prover: Prove n prime | if n−1 can be partially factored | exercise solution codepad |
| 319 | 02 Mar 2012 | Balanced Delimiters: Determine | if nested delimiters are properly balanced | exercise solution codepad |
| 187 | 23 Nov 2010 | String Subsets: Determine | if one string is a subset of another | exercise solution codepad |
| 322 | 13 Mar 2012 | Perfect Power Predicate: Given a positive integer n, determine | if there exists a b and e for which be = n | exercise solution codepad |
| 408 | 18 Jan 2013 | Triangle Trilemma: Determine | if three points form a triangle, and classify it | exercise solution codepad |
| 430 | 09 Apr 2013 | Cyclic Equality: Determine | if two cyclic lists are equal | exercise solution codepad |
| 255 | 19 Jul 2011 | Sum Of Two Integers: Determine | if two integers in a list sum to a target | exercise solution codepad |
| 310 | 31 Jan 2012 | String Rotation: Determine | if two strings are rotations of each other | exercise solution codepad |
| 460 | 26 Jul 2013 | Find X[i] | = i In An Array: Find an array element equal to its index | exercise solution codepad |
| 460 | 26 Jul 2013 | Find X[i] = | i In An Array: Find an array element equal to its index | exercise solution codepad |
| 224 | 01 Apr 2011 | Maximum Difference In An Array: Find maximum Xj &minus Xi, with | i ≤ j | exercise solution codepad |
| 215 | 01 Mar 2011 | An Early LISP Program: A program to flatten a list, from the March 1960 LISP | I manual | exercise solution codepad |
| 480 | 08 Oct 2013 | Functional-Style Linked Lists: A library of functions on functional-style lists made from | immutable pairs | exercise solution codepad |
| 410 | 25 Jan 2013 | Imperative Heaps: The classing implementation of priority queues embedded in an array | exercise solution codepad | |
| 481 | 11 Oct 2013 | Imperative-Style Linked Lists: A library of functions on imperative-style lists made from mutable pairs | exercise solution codepad | |
| 481 | 11 Oct 2013 | Imperative-Style Linked Lists: A library of functions on | imperative-style lists made from mutable pairs | exercise solution codepad |
| 489 | 29 Oct 2013 | Queues: | Implement a basic data structure | exercise solution codepad |
| 491 | 08 Nov 2013 | Two Stacks Make A Queue: | Implement a queue using two stacks | exercise solution codepad |
| 490 | 05 Nov 2013 | Two Queues Make A Stack: | Implement a stack using two queues | exercise solution codepad |
| 2 | 19 Feb 2009 | Sieve of Eratosthenes: A Scheme | implementation of an ancient algorithm | exercise solution codepad |
| 36 | 26 May 2009 | Word Search Solver: A computerized | implementation of a popular time-waster | exercise solution codepad |
| 269 | 06 Sep 2011 | Deques: Library | implementation of double-ended queues | exercise solution codepad |
| 55 | 31 Jul 2009 | Elliptic Curve Factorization: A very simple | implementation of elliptic curve factorization | exercise solution codepad |
| 410 | 25 Jan 2013 | Imperative Heaps: The classing | implementation of priority queues embedded in an array | exercise solution codepad |
| 409 | 22 Jan 2013 | Splay Heaps: Yet another | implementation of priority queues | exercise solution codepad |
| 284 | 01 Nov 2011 | RIP John McCarthy: | Implementation of the “Maxwell’s equations of software” from the LISP 1.5 Programmer’s Manual | exercise solution codepad |
| 291 | 25 Nov 2011 | AVL Trees: Basic | implementation of the original balanced-tree algorithm | exercise solution codepad |
| 30 | 05 May 2009 | Priority Queues: A simple library | implementation of the priority queue data structure | exercise solution codepad |
| 92 | 08 Dec 2009 | Word Count: An | implementation of the unix wc program |
exercise solution codepad |
| 302 | 03 Jan 2012 | Turtle Graphics: A minimal library of turtle graphics, as in the Logo language, | implemented in PostScript | exercise solution codepad |
| 236 | 13 May 2011 | Dixon’s Factorization Algorithm: A slow, but theoretically | important, algorithm for integer factorization | exercise solution codepad |
| 461 | 30 Jul 2013 | Who Buys The Croissants?: Simulate an | important Friday-morning question | exercise solution codepad |
| 440 | 14 May 2013 | Optimal Alphabetical Order: Redefine the alphabet to | improve alphabetical ordering | exercise solution codepad |
| 112 | 19 Feb 2010 | Sieve Of Atkin, | Improved: A faster version of the Sieve of Atkin | exercise solution codepad |
| 134 | 07 May 2010 | Integer Logarithms: An | improved algorithm is O(log n) instead of O(n) | exercise solution codepad |
| 435 | 26 Apr 2013 | Correct Horse Battery Staple, | Improved: Fix a horrible bug in the original version | exercise solution codepad |
| 272 | 16 Sep 2011 | Pollard’s P−1 Factorization Algoritihm, Revisited: An | improved second stage that is much faster than the original | exercise solution codepad |
| 327 | 30 Mar 2012 | Subset Sum, Meet In The Middle: An | improved solution to the classic NP problem | exercise solution codepad |
| 286 | 08 Nov 2011 | Improved Standard Continuation: An improved version of elliptic curve factorization, widely used in current practice | exercise solution codepad | |
| 286 | 08 Nov 2011 | Improved Standard Continuation: An | improved version of elliptic curve factorization, widely used in current practice | exercise solution codepad |
| 428 | 02 Apr 2013 | Quadratic Sieve With Large Primes: A (slightly) | improved version of the basic quadratic sieve | exercise solution codepad |
| 451 | 21 Jun 2013 | Multiple Polynomial Quadratic Sieve: A greatly | improved version of the basic quadratic sieve | exercise solution codepad |
| 419 | 01 Mar 2013 | Baillie-Wagstaff Pseudoprimality Tester: Primality test, an | improvement over the Miller-Rabin test | exercise solution codepad |
| 462 | 02 Aug 2013 | Ordered Hash Tables: Knuth’s | improvement to simple hash tables | exercise solution codepad |
| 250 | 01 Jul 2011 | Feet And | Inches: Convert decimal inches to carpenters’ fractions | exercise solution codepad |
| 250 | 01 Jul 2011 | Feet And Inches: Convert decimal | inches to carpenters’ fractions | exercise solution codepad |
| 386 | 30 Oct 2012 | Pandigital Numbers: Find sums that | include all ten digits | exercise solution codepad |
| 125 | 06 Apr 2010 | Minimum Spanning Tree: Kruskal’s Algorithm: Find the minimum-cost tree that | includes all the nodes in a graph | exercise solution codepad |
| 126 | 09 Apr 2010 | Minimum Spanning Tree: Prim’s Algorithm: Find the minimum-cost tree that | includes all the nodes in a graph | exercise solution codepad |
| 180 | 29 Oct 2010 | Fibonacci Primes: Find primes among the fibonacci numbers; | includes the Park-Miller random number generator and Miller-Rabin primality checker | exercise solution codepad |
| 109 | 09 Feb 2010 | Numerical Integration: Quadrature by the rectangular, trapezoidal and Simpson’s method, | including adaptive quadrature | exercise solution codepad |
| 344 | 01 Jun 2012 | Square Roots: Four methods to compute square roots, | including one from antiquity | exercise solution codepad |
| 425 | 22 Mar 2013 | Jumping Jack: Jump in | increasing sizes along the number line | exercise solution codepad |
| 96 | 22 Dec 2009 | Permuted | Index: David Parnas’ classic deconstruction of the keyword-in-context index | exercise solution codepad |
| 460 | 26 Jul 2013 | Find X[i] = i In An Array: Find an array element equal to its | index | exercise solution codepad |
| 470 | 30 Aug 2013 | BMI Calculator: Calculate a person’s body mass | index | exercise solution codepad |
| 96 | 22 Dec 2009 | Permuted Index: David Parnas’ classic deconstruction of the keyword-in-context | index | exercise solution codepad |
| 221 | 22 Mar 2011 | Two Kaprekar Exercises: Kaprekar chains and Kaprekar numbers, from the | Indian mathematician Dattaraya Ramchandra Kaprekar | exercise solution codepad |
| 252 | 08 Jul 2011 | Vedic Divisibility: Use a method of testing divisibility using the method of osculators developed in | India | exercise solution codepad |
| 278 | 07 Oct 2011 | Sieve of Sundaram: Sieving for prime numbers using a method from | India | exercise solution codepad |
| 411 | 01 Feb 2013 | Hofstadter’s Sequence: An | infinite figure-figure sequence | exercise solution codepad |
| 358 | 20 Jul 2012 | Infix Expression Evaluation: Write a parser to evaluate arithmetic expressions | exercise solution codepad | |
| 45 | 26 Jun 2009 | Treaps: A randomized dictionary data structure, provides | in-order access to key | exercise solution codepad |
| 414 | 12 Feb 2013 | Binary Search Tree: | In-Order Predecessor And Successor: Find the previous and next items in a tree | exercise solution codepad |
| 245 | 14 Jun 2011 | Big Numbers: | Input And Output: A library for big integers: input and output with radix conversion | exercise solution codepad |
| 245 | 14 Jun 2011 | Big Numbers: Input And Output: A library for big integers: | input and output with radix conversion | exercise solution codepad |
| 159 | 17 Aug 2010 | Cut: Select fields or characters from | input lines | exercise solution codepad |
| 213 | 22 Feb 2011 | Sliding Window Minimum: List of minimums sliding across an | input list | exercise solution codepad |
| 318 | 28 Feb 2012 | Next Greater Permutation Of Digits: Find the smallest number larger than the input number using the same digits as the | input number | exercise solution codepad |
| 35 | 22 May 2009 | The Next Palindrome: Find the next palindromic number greater than the | input number | exercise solution codepad |
| 318 | 28 Feb 2012 | Next Greater Permutation Of Digits: Find the smallest number larger than the | input number using the same digits as the input number | exercise solution codepad |
| 253 | 12 Jul 2011 | JSON: Parsing | Input: Parse JSON input | exercise solution codepad |
| 217 | 08 Mar 2011 | Reverse Words: Reverse the words in an | input string | exercise solution codepad |
| 91 | 04 Dec 2009 | Autokey: A cipher in which the | input text forms part of the key | exercise solution codepad |
| 253 | 12 Jul 2011 | JSON: Parsing Input: Parse JSON | input | exercise solution codepad |
| 296 | 13 Dec 2011 | Validating Telephone Numbers: An exercise in | input validation | exercise solution codepad |
| 473 | 12 Sep 2013 | Diffie Hellman Key Exchange: Manage secure exchanges on an | insecure communications channel | exercise solution codepad |
| 263 | 16 Aug 2011 | Insert Into A Cyclic Sorted List: | Insert a new element into a cyclic list, in order | exercise solution codepad |
| 116 | 05 Mar 2010 | Binary Search Tree: Classic data structure, providing | insert, delete and lookup for ordered datatypes | exercise solution codepad |
| 263 | 16 Aug 2011 | Insert Into A Cyclic Sorted List: Insert a new element into a cyclic list, in order | exercise solution codepad | |
| 80 | 27 Oct 2009 | Three Quadratic Sorts: Bubble sort, selection sort and | insertion sort | exercise solution codepad |
| 207 | 01 Feb 2011 | Cuckoo Hashing: A hashing system with guaranteed constant-time lookup and amortized constant-time | insertion | exercise solution codepad |
| 262 | 12 Aug 2011 | Word Breaks: | Insert spaces between words: applepie => apple pie | exercise solution codepad |
| 279 | 14 Oct 2011 | The First N Primes: Embedding the Sieve of Eratosthenes in a priority queue | instead of an array | exercise solution codepad |
| 134 | 07 May 2010 | Integer Logarithms: An improved algorithm is O(log n) | instead of O(n) | exercise solution codepad |
| 433 | 19 Apr 2013 | Integer Roots: Calculate square roots and higher roots in | integer arithmetic | exercise solution codepad |
| 444 | 28 May 2013 | Modular Multiplication Without Overflow: Perform modular multiplication without overflowing an | integer datatype | exercise solution codepad |
| 167 | 14 Sep 2010 | The Factorization Of F7: Part 1: Our fortieth anniversary celebration of Morrison and Brillhart’s method of | integer factorization by continued fractions | exercise solution codepad |
| 168 | 17 Sep 2010 | The Factorization Of F7: Part 2: Our fortieth anniversary celebration of Morrison and Brillhart’s method of | integer factorization by continued fractions | exercise solution codepad |
| 34 | 19 May 2009 | Fermat’s Method: | Integer factorization by Fermat’s algorithm | exercise solution codepad |
| 273 | 20 Sep 2011 | Project Euler Problem 3: Thorough explanation of | integer factorization by trial division | exercise solution codepad |
| 132 | 30 Apr 2010 | Integer Factorization: Combine trial division, Pollard’s rho and p−1 methods, and elliptic curves into a single factorization program | exercise solution codepad | |
| 204 | 21 Jan 0 | Pollard Rho, Revisited: Richard Brent’s variant of John Pollard’s rho algorithm for | integer factorization | exercise solution codepad |
| 236 | 13 May 2011 | Dixon’s Factorization Algorithm: A slow, but theoretically important, algorithm for | integer factorization | exercise solution codepad |
| 43 | 19 Jun 2009 | Monte Carlo Factorization: | Integer factorization via Pollard’s rho algorithm | exercise solution codepad |
| 274 | 23 Sep 2011 | Array Duplicates: Find the duplicate | integer in a large array | exercise solution codepad |
| 85 | 13 Nov 2009 | Two linear sorts: Count sort and radix sort exploit the structure of | integer keys | exercise solution codepad |
| 134 | 07 May 2010 | Integer Logarithms: An improved algorithm is O(log n) instead of O(n) | exercise solution codepad | |
| 322 | 13 Mar 2012 | Perfect Power Predicate: Given a positive | integer n, determine if there exists a b and e for which be = n | exercise solution codepad |
| 433 | 19 Apr 2013 | Integer Roots: Calculate square roots and higher roots in integer arithmetic | exercise solution codepad | |
| 479 | 04 Oct 2013 | Calculating Statistics: Read a file of | integers and calculate mean, median and mode | exercise solution codepad |
| 161 | 24 Aug 2010 | Daniel Shanks’ Square Form Factorization Algorithm: A simple and very fast factorization algorithm for | integers between 105 and 1020 | exercise solution codepad |
| 255 | 19 Jul 2011 | Sum Of Two | Integers: Determine if two integers in a list sum to a target | exercise solution codepad |
| 251 | 05 Jul 2011 | Big Numbers: Examples: A library for big | integers: display factorials to 50, determine if a number is prime, and compute its prime factors | exercise solution codepad |
| 249 | 28 Jun 2011 | Big Numbers: Functions: A library for big | integers: gcd, powering, square root, random numbers | exercise solution codepad |
| 241 | 31 May 2011 | Big Numbers: Addition, Subtraction And Multiplication: A library for big | integers: grade-school algorithms for addition, subtraction, and multiplication | exercise solution codepad |
| 255 | 19 Jul 2011 | Sum Of Two Integers: Determine if two | integers in a list sum to a target | exercise solution codepad |
| 245 | 14 Jun 2011 | Big Numbers: Input And Output: A library for big | integers: input and output with radix conversion | exercise solution codepad |
| 453 | 28 Jun 2013 | A Programming Puzzle: Write a function f so that f(f(n)) = -n for all | integers n. | exercise solution codepad |
| 337 | 04 May 2012 | Even-Odd Partition: Partition an array so all even | integers precede all odd integers | exercise solution codepad |
| 239 | 24 May 2011 | Big Numbers: Getting Started: A library for big | integers: representation, comparison, simple functions | exercise solution codepad |
| 325 | 23 Mar 2012 | Base-26 Arithmetic: Perform arithmetic on | integers represented as strings of letters | exercise solution codepad |
| 247 | 21 Jun 2011 | Big Numbers: Testing: A library for big | integers: testing | exercise solution codepad |
| 339 | 11 May 2012 | partitions: Sets of | integers that sum to a given integer | exercise solution codepad |
| 243 | 07 Jun 2011 | Big Numbers: Division: A library for big | integers: the grade-school algorithm for long division | exercise solution codepad |
| 108 | 05 Feb 2010 | Segmented Sieve Of Eratosthenes: Extend the Sieve of Eratosthenes to large ranges of | integers | exercise solution codepad |
| 194 | 17 Dec 2010 | Polite Numbers: Write numbers as the sum of two or more consecutive | integers | exercise solution codepad |
| 321 | 09 Mar 2012 | Sparse Sets: Clever data structure for storing sparse sets of small | integers | exercise solution codepad |
| 337 | 04 May 2012 | Even-Odd Partition: Partition an array so all even integers precede all odd | integers | exercise solution codepad |
| 338 | 08 May 2012 | Factor Tables: Table of factors of | integers | exercise solution codepad |
| 412 | 05 Feb 2013 | The 147 Puzzle: Compute all the solutions to 1/a + 1/b + 1/c + 1/d + 1/e = 1 in | integers | exercise solution codepad |
| 355 | 10 Jul 2012 | Sieve For Totients: Find the totients of a large range of | integers using a sieve | exercise solution codepad |
| 206 | 28 Jan 2011 | Population Count: Count the number of set bits (1-bits) in the binary representation of an | integer | exercise solution codepad |
| 339 | 11 May 2012 | partitions: Sets of integers that sum to a given | integer | exercise solution codepad |
| 340 | 15 May 2012 | Streaming Knapsack: Find first possible combination from a stream that sums to a given | integer | exercise solution codepad |
| 201 | 11 Jan 2011 | Two Integrals: The exponential and logarithmic | integral, and an approximation for prime-pi | exercise solution codepad |
| 258 | 29 Jul 2011 | Approximating Pi: Approximating pi with the logarithmic | integral and Riemann’s R function | exercise solution codepad |
| 201 | 11 Jan 2011 | Two | Integrals: The exponential and logarithmic integral, and an approximation for prime-pi | exercise solution codepad |
| 109 | 09 Feb 2010 | Numerical | Integration: Quadrature by the rectangular, trapezoidal and Simpson’s method, including adaptive quadrature | exercise solution codepad |
| 94 | 15 Dec 2009 | Affine-Shift Cipher: A cryptographically weak but mathematically | interesting cipher | exercise solution codepad |
| 389 | 09 Nov 2012 | Taxicab Numbers: Confirm an | interesting observation of Srinivasa Ramanujan | exercise solution codepad |
| 51 | 17 Jul 2009 | International Mathematical Olympiad: Three exercises from 1960s math competitions | exercise solution codepad | |
| 182 | 05 Nov 2010 | Weather Forecast: Fetch the weather forecast from the | internet | exercise solution codepad |
| 238 | 20 May 0 | ISBN Validation: Validate ISBN book numbers, and fetch author and title from the | internet | exercise solution codepad |
| 14 | 10 Mar 2009 | Word Frequencies: Our | interpretation of a problem solved by a classic unix pipeline | exercise solution codepad |
| 19 | 27 Mar 2009 | A Turing Machine Simulator: An | interpreter for a single-tape, multi-symbol turing machine | exercise solution codepad |
| 277 | 04 Oct 2011 | Brainfuck: | Interpreter for a Turing-line language | exercise solution codepad |
| 354 | 06 Jul 2012 | Fractran: Write an | interpreter for John Horton Conway’s language Fractran | exercise solution codepad |
| 391 | 16 Nov 2012 | List | Intersection And Union: Two algorithms on linked lists, with multiple solutions | exercise solution codepad |
| 195 | 21 Dec 2010 | Interval Arithmetic: An exercise from SICP | exercise solution codepad | |
| 394 | 27 Nov 2012 | Amazon | Interview Question: Find the hundred points of a million closest to the origin | exercise solution codepad |
| 468 | 23 Aug 2013 | Three | Interview Questions: Three interview questions | exercise solution codepad |
| 468 | 23 Aug 2013 | Three Interview Questions: Three | interview questions | exercise solution codepad |
| 454 | 02 Jul 2013 | Decoding Text-Speak: Expnd txt wth only | intl vwls and n dbld ltrs | exercise solution codepad |
| 263 | 16 Aug 2011 | Insert Into A Cyclic Sorted List: Insert a new element | into a cyclic list, in order | exercise solution codepad |
| 263 | 16 Aug 2011 | Insert | Into A Cyclic Sorted List: Insert a new element into a cyclic list, in order | exercise solution codepad |
| 132 | 30 Apr 2010 | Integer Factorization: Combine trial division, Pollard’s rho and p−1 methods, and elliptic curves | into a single factorization program | exercise solution codepad |
| 234 | 06 May 2011 | Entab And Detab: expand tabs | into spaces, and replace spaces with tabs | exercise solution codepad |
| 288 | 15 Nov 2011 | Phil Harvey’s Puzle: partition {1,…,16} | into two sets of equal size so each subset has the same sum, sum of squares and sum of cubes | exercise solution codepad |
| 17 | 20 Mar 2009 | Dodgson's Doublets: A word game | invented by the author of Alice in Wonderland | exercise solution codepad |
| 162 | 27 Aug 2010 | Chinese Remainders: An ancient application of modular | inverses | exercise solution codepad |
| 366 | 17 Aug 2012 | Two Random Exercises: Two exercises | involving random numbers | exercise solution codepad |
| 218 | 11 Mar 2011 | Lowest Common Ancestor: Find the lowest node in a binary search tree that | is a common ancestor to two given nodes | exercise solution codepad |
| 463 | 06 Aug 2013 | Sophie Germain Primes: Primes p such that 2p+1 | is also prime | exercise solution codepad |
| 309 | 27 Jan 2012 | Anagram Phrases: “Gin grammar prop six” | is an anagram for “Programming Praxis” | exercise solution codepad |
| 336 | 01 May 2012 | Legendre’s Symbol: Determine if a number | is a quadratic residue mod m | exercise solution codepad |
| 156 | 06 Aug 2010 | Two Powering Predicates: Determine if a number | is a square or a prime power | exercise solution codepad |
| 187 | 23 Nov 2010 | String Subsets: Determine if one string | is a subset of another | exercise solution codepad |
| 238 | 20 May 0 | ISBN Validation: Validate | ISBN book numbers, and fetch author and title from the internet | exercise solution codepad |
| 238 | 20 May 0 | ISBN Validation: Validate ISBN book numbers, and fetch author and title from the internet | exercise solution codepad | |
| 272 | 16 Sep 2011 | Pollard’s P−1 Factorization Algoritihm, Revisited: An improved second stage that | is much faster than the original | exercise solution codepad |
| 134 | 07 May 2010 | Integer Logarithms: An improved algorithm | is O(log n) instead of O(n) | exercise solution codepad |
| 251 | 05 Jul 2011 | Big Numbers: Examples: A library for big integers: display factorials to 50, determine if a number | is prime, and compute its prime factors | exercise solution codepad |
| 197 | 28 Dec 2010 | Carmichael Numbers: Composite numbers such that an-1 ≡ 1 (mod n) if a | is prime to n | exercise solution codepad |
| 482 | 15 Oct 2013 | Find The Minimum Difference: Find the minimum difference between any item from on list and any | item from another list | exercise solution codepad |
| 482 | 15 Oct 2013 | Find The Minimum Difference: Find the minimum difference between any | item from on list and any item from another list | exercise solution codepad |
| 93 | 11 Dec 2009 | Selection: Find the kth-largest | item in a list | exercise solution codepad |
| 369 | 28 Aug 2012 | Random Access Lists: A clever data structure that provides O(log n) access to | items in a sequential list, along with cons, head and tail | exercise solution codepad |
| 352 | 29 Jun 2012 | Sliding Median: Find the median of the most recent k | items in a stream | exercise solution codepad |
| 414 | 12 Feb 2013 | Binary Search Tree: In-Order Predecessor And Successor: Find the previous and next | items in a tree | exercise solution codepad |
| 472 | 06 Sep 2013 | Cartesian Product: Cross-product of the | items in a variable-length list of variable-length lists | exercise solution codepad |
| 124 | 02 Apr 2010 | Disjoint Sets: A data structure for storing sets of | items in disjoint partitions | exercise solution codepad |
| 396 | 04 Dec 2012 | Median Of Five: A very fast method to compute the median of five | items | exercise solution codepad |
| 152 | 23 Jul 2010 | Happy Numbers: | Iterating the sum of the squares of the digits terminates with one | exercise solution codepad |
| 191 | 07 Dec 2010 | Ullman’s Puzzle: | It never hurts to sort | exercise solution codepad |
| 265 | 23 Aug 2011 | Knapsack: Fill a knapsack to maximize the value of | its contents | exercise solution codepad |
| 248 | 24 Jun 2011 | Thank God | It’s Friday!: Three methods to calculate the day of the week | exercise solution codepad |
| 460 | 26 Jul 2013 | Find X[i] = i In An Array: Find an array element equal to | its index | exercise solution codepad |
| 251 | 05 Jul 2011 | Big Numbers: Examples: A library for big integers: display factorials to 50, determine if a number is prime, and compute | its prime factors | exercise solution codepad |
| 216 | 04 Mar 2011 | Chutes And Ladders: Simulate a child’s game, and compute | its statistics | exercise solution codepad |
| 15 | 13 Mar 2009 | Friday, the Thirteenth: A small calendar library, and a simple use of | it | exercise solution codepad |
| 373 | 11 Sep 2012 | The Sum Of The First Billion Primes: Write a prime generator, and use | it | exercise solution codepad |
| 408 | 18 Jan 2013 | Triangle Trilemma: Determine if three points form a triangle, and classify | it | exercise solution codepad |
| 208 | 04 Feb 2011 | Excel Columns: Numbers as in Excel column names, A=1, Z=26, | IV=256 | exercise solution codepad |
| 425 | 22 Mar 2013 | Jumping | Jack: Jump in increasing sizes along the number line | exercise solution codepad |
| 133 | 04 May 2010 | Spectacular Seven: Compute the odds at | jai alai | exercise solution codepad |
| 364 | 10 Aug 2012 | Minimum Scalar Product: A simple exercise from the practice round of Google Code | Jam 2008 | exercise solution codepad |
| 426 | 26 Mar 2013 | Google Code | Jam Qualification Round Africa 2010, Revisited: Four solutions to a Google programming exercise, with various time complexities | exercise solution codepad |
| 211 | 15 Feb 2011 | Google Code | Jam Qualification Round Africa 2010: Three simple exercises | exercise solution codepad |
| 170 | 24 Sep 2010 | Alien Numbers: An exercise from Google Code | Jam | exercise solution codepad |
| 176 | 15 Oct 2010 | Find The Longest Palindrome In A String: A beautiful linear-time algorithm due to Johan | Jeuring | exercise solution codepad |
| 123 | 30 Mar 2010 | Passover: Calculate the dates of the | Jewish holidays Rosh Hashanah and Passover | exercise solution codepad |
| 458 | 19 Jul 2013 | J K Rowling: Identify an author using forensic linguistics | exercise solution codepad | |
| 176 | 15 Oct 2010 | Find The Longest Palindrome In A String: A beautiful linear-time algorithm due to | Johan Jeuring | exercise solution codepad |
| 333 | 20 Apr 2012 | John Horton Conway’s Game Of Life: The classic cellular automata | exercise solution codepad | |
| 354 | 06 Jul 2012 | Fractran: Write an interpreter for | John Horton Conway’s language Fractran | exercise solution codepad |
| 219 | 15 Mar 2011 | Look And Say: Calculate | John Horton Conway’s "Look and Say" sequence | exercise solution codepad |
| 284 | 01 Nov 2011 | RIP | John McCarthy: Implementation of the “Maxwell’s equations of software” from the LISP 1.5 Programmer’s Manual | exercise solution codepad |
| 79 | 23 Oct 2009 | Mr. S. and Mr. P.: A logic puzzle popularized by | John McCarthy | exercise solution codepad |
| 204 | 21 Jan 0 | Pollard Rho, Revisited: Richard Brent’s variant of | John Pollard’s rho algorithm for integer factorization | exercise solution codepad |
| 52 | 21 Jul 2009 | Pollard’s P−1 Factorization Algorithm: A simple factorization algorithm by | John Pollard | exercise solution codepad |
| 141 | 15 Jun 2010 | Natural | Join: The fundamental relational database operator | exercise solution codepad |
| 113 | 23 Feb 2010 | Engineering A Sort Function: A high-performance quicksort by | Jon Bentley and Doug McIlroy | exercise solution codepad |
| 190 | 03 Dec 2010 | Maximum Sum Subsequence: A classic programming exercise due to | Jon Bentley | exercise solution codepad |
| 5 | 19 Feb 2009 | Flavius | Josephus: Programming a cyclical list | exercise solution codepad |
| 103 | 19 Jan 2010 | Flight Planning: Computing the navigation triangle, by | Jos Koot | exercise solution codepad |
| 196 | 24 Dec 2010 | Tracking Santa: How far does Santa travel on his annual | journey? | exercise solution codepad |
| 254 | 15 Jul 2011 | JSON: Writing Output: The other side of | JSAON | exercise solution codepad |
| 253 | 12 Jul 2011 | JSON: Parsing Input: Parse | JSON input | exercise solution codepad |
| 253 | 12 Jul 2011 | JSON: Parsing Input: Parse JSON input | exercise solution codepad | |
| 254 | 15 Jul 2011 | JSON: Writing Output: The other side of JSAON | exercise solution codepad | |
| 224 | 01 Apr 2011 | Maximum Difference In An Array: Find maximum Xj &minus Xi, with i ≤ | j | exercise solution codepad |
| 224 | 01 Apr 2011 | Maximum Difference In An Array: Find maximum Xj &minus Xi, with i | ≤ j | exercise solution codepad |
| 425 | 22 Mar 2013 | Jumping Jack: Jump in increasing sizes along the number line | exercise solution codepad | |
| 425 | 22 Mar 2013 | Jumping Jack: | Jump in increasing sizes along the number line | exercise solution codepad |
| 221 | 22 Mar 2011 | Two Kaprekar Exercises: | Kaprekar chains and Kaprekar numbers, from the Indian mathematician Dattaraya Ramchandra Kaprekar | exercise solution codepad |
| 221 | 22 Mar 2011 | Two | Kaprekar Exercises: Kaprekar chains and Kaprekar numbers, from the Indian mathematician Dattaraya Ramchandra Kaprekar | exercise solution codepad |
| 221 | 22 Mar 2011 | Two Kaprekar Exercises: Kaprekar chains and | Kaprekar numbers, from the Indian mathematician Dattaraya Ramchandra Kaprekar | exercise solution codepad |
| 169 | 21 Sep 2010 | Kaprekar Numbers: Square the number and add the digits in halves | exercise solution codepad | |
| 221 | 22 Mar 2011 | Two Kaprekar Exercises: Kaprekar chains and Kaprekar numbers, from the Indian mathematician Dattaraya Ramchandra | Kaprekar | exercise solution codepad |
| 58 | 11 Aug 2009 | Uncle Bob’s Bowling Game | Kata: Use pattern-matching on lists to solve a classic object-oriented programming exercise | exercise solution codepad |
| 379 | 05 Oct 2012 | AKS Primality Prover, Part 2: The primality prover of Agrawal, | Kayal and Saxena | exercise solution codepad |
| 283 | 28 Oct 2011 | Crypt: Simple encryption tool from | Kernighan and Plauger | exercise solution codepad |
| 473 | 12 Sep 2013 | Diffie Hellman | Key Exchange: Manage secure exchanges on an insecure communications channel | exercise solution codepad |
| 324 | 20 Mar 2012 | Factoring Multiple RSA Keys: Exploit a | key-generation weakness to factor RSA keys | exercise solution codepad |
| 307 | 20 Jan 2012 | Knights On A | Keypad: Count the number of knight paths on a keypad | exercise solution codepad |
| 307 | 20 Jan 2012 | Knights On A Keypad: Count the number of knight paths on a | keypad | exercise solution codepad |
| 324 | 20 Mar 2012 | Factoring Multiple RSA | Keys: Exploit a key-generation weakness to factor RSA keys | exercise solution codepad |
| 324 | 20 Mar 2012 | Factoring Multiple RSA Keys: Exploit a key-generation weakness to factor RSA | keys | exercise solution codepad |
| 85 | 13 Nov 2009 | Two linear sorts: Count sort and radix sort exploit the structure of integer | keys | exercise solution codepad |
| 45 | 26 Jun 2009 | Treaps: A randomized dictionary data structure, provides in-order access to | key | exercise solution codepad |
| 91 | 04 Dec 2009 | Autokey: A cipher in which the input text forms part of the | key | exercise solution codepad |
| 347 | 12 Jun 2012 | Ordered Maps: A | key/value dictionary that supports an ordering relationship | exercise solution codepad |
| 96 | 22 Dec 2009 | Permuted Index: David Parnas’ classic deconstruction of the | keyword-in-context index | exercise solution codepad |
| 33 | 15 May 2009 | Cellular Automata: Linear cellular automata as described by Stephen Wolfram in his book A New | Kind of Science | exercise solution codepad |
| 352 | 29 Jun 2012 | Sliding Median: Find the median of the most recent | k items in a stream | exercise solution codepad |
| 265 | 23 Aug 2011 | Knapsack: Fill a knapsack to maximize the value of its contents | exercise solution codepad | |
| 340 | 15 May 2012 | Streaming | Knapsack: Find first possible combination from a stream that sums to a given integer | exercise solution codepad |
| 265 | 23 Aug 2011 | Knapsack: Fill a | knapsack to maximize the value of its contents | exercise solution codepad |
| 421 | 08 Mar 2013 | Knight Moves: Move a | knight around a chess board | exercise solution codepad |
| 421 | 08 Mar 2013 | Knight Moves: Move a knight around a chess board | exercise solution codepad | |
| 307 | 20 Jan 2012 | Knights On A Keypad: Count the number of | knight paths on a keypad | exercise solution codepad |
| 293 | 02 Dec 2011 | Knight Rider: Classic problem of the knight’s tour | exercise solution codepad | |
| 307 | 20 Jan 2012 | Knights On A Keypad: Count the number of knight paths on a keypad | exercise solution codepad | |
| 293 | 02 Dec 2011 | Knight Rider: Classic problem of the | knight’s tour | exercise solution codepad |
| 145 | 29 Jun 2010 | World Cup Prognostication: Simulate the | knockout stage using elo ratings | exercise solution codepad |
| 266 | 26 Aug 2011 | Reverse Every | K Nodes Of A Linked List: Reverse the elements of a sub-list | exercise solution codepad |
| 413 | 08 Feb 2013 | The Biggest Prime: Print all 17-million digits of the largest | known prime number | exercise solution codepad |
| 335 | 27 Apr 2012 | Trabb Pardo | Knuth Algorithm: Trivial algorithm, used to explore an unfamiliar language | exercise solution codepad |
| 62 | 25 Aug 2009 | String Search: | Knuth-Morris-Pratt: Search for a pattern in a text using an O(n) algorithm | exercise solution codepad |
| 462 | 02 Aug 2013 | Ordered Hash Tables: | Knuth’s improvement to simple hash tables | exercise solution codepad |
| 135 | 25 May 2010 | GB_FLIP: Donald | Knuth’s portable, high-quality random-number generator from the Stanford Graphbase | exercise solution codepad |
| 157 | 10 Aug 2010 | Literate Programming: Structured documentation in the style of Donald | Knuth | exercise solution codepad |
| 299 | 23 Dec 2011 | Koch’s Snowflake: Draw a fractal snowflake using PostScript | exercise solution codepad | |
| 445 | 31 May 2013 | The Seven Bridges of | Königsberg: A classic graph puzzle due to Leonhard Euler | exercise solution codepad |
| 103 | 19 Jan 2010 | Flight Planning: Computing the navigation triangle, by Jos | Koot | exercise solution codepad |
| 97 | 29 Dec 2009 | A Statisticle Speling | Korrecter: Peter Norvig’s version of the Google spelling suggester | exercise solution codepad |
| 458 | 19 Jul 2013 | J | K Rowling: Identify an author using forensic linguistics | exercise solution codepad |
| 125 | 06 Apr 2010 | Minimum Spanning Tree: | Kruskal’s Algorithm: Find the minimum-cost tree that includes all the nodes in a graph | exercise solution codepad |
| 93 | 11 Dec 2009 | Selection: Find the | kth-largest item in a list | exercise solution codepad |
| 452 | 25 Jun 2013 | Swap List Nodes: Swap the | kth node from the beginning of a list with the kth node from the end of a list | exercise solution codepad |
| 452 | 25 Jun 2013 | Swap List Nodes: Swap the kth node from the beginning of a list with the | kth node from the end of a list | exercise solution codepad |
| 216 | 04 Mar 2011 | Chutes And | Ladders: Simulate a child’s game, and compute its statistics | exercise solution codepad |
| 153 | 27 Jul 2010 | HAMURABI.BAS: Manage grain and | land in ancient Sumeria | exercise solution codepad |
| 354 | 06 Jul 2012 | Fractran: Write an interpreter for John Horton Conway’s | language Fractran | exercise solution codepad |
| 302 | 03 Jan 2012 | Turtle Graphics: A minimal library of turtle graphics, as in the Logo | language, implemented in PostScript | exercise solution codepad |
| 144 | 25 Jun 2010 | Learn A New | Language: Solve the exercise of your choice in an unfamiliar language | exercise solution codepad |
| 316 | 21 Feb 2012 | Learn A New | Language: Solve the exercise of your choice in an unfamiliar language | exercise solution codepad |
| 144 | 25 Jun 2010 | Learn A New Language: Solve the exercise of your choice in an unfamiliar | language | exercise solution codepad |
| 277 | 04 Oct 2011 | Brainfuck: Interpreter for a Turing-line | language | exercise solution codepad |
| 316 | 21 Feb 2012 | Learn A New Language: Solve the exercise of your choice in an unfamiliar | language | exercise solution codepad |
| 335 | 27 Apr 2012 | Trabb Pardo Knuth Algorithm: Trivial algorithm, used to explore an unfamiliar | language | exercise solution codepad |
| 274 | 23 Sep 2011 | Array Duplicates: Find the duplicate integer in a | large array | exercise solution codepad |
| 428 | 02 Apr 2013 | Quadratic Sieve With | Large Primes: A (slightly) improved version of the basic quadratic sieve | exercise solution codepad |
| 355 | 10 Jul 2012 | Sieve For Totients: Find the totients of a | large range of integers using a sieve | exercise solution codepad |
| 108 | 05 Feb 2010 | Segmented Sieve Of Eratosthenes: Extend the Sieve of Eratosthenes to | large ranges of integers | exercise solution codepad |
| 120 | 19 Mar 2010 | Extending Pollard’s P−1 Factorization Algorithm: Add a second stage to allow | larger factorizations | exercise solution codepad |
| 122 | 26 Mar 2010 | The Next Prime: Efficiently find the next prime number | larger than a given number | exercise solution codepad |
| 318 | 28 Feb 2012 | Next Greater Permutation Of Digits: Find the smallest number | larger than the input number using the same digits as the input number | exercise solution codepad |
| 413 | 08 Feb 2013 | The Biggest Prime: Print all 17-million digits of the | largest known prime number | exercise solution codepad |
| 323 | 16 Mar 2012 | Sum Of Squares Of Two | Largest Of Three Values: A simple problem from SICP with a variety of solutions | exercise solution codepad |
| 401 | 21 Dec 2012 | Building Primes: Build the | largest prime with all right-most subsequences also prime | exercise solution codepad |
| 111 | 16 Feb 2010 | Soundex: An algorithm to assign people’s | last names to equivalence classes based on similar spelling | exercise solution codepad |
| 104 | 22 Jan 2010 | Phases Of The Moon: Calculate the number of days since the | last new moon | exercise solution codepad |
| 429 | 05 Apr 2013 | Last Non-Zero Digit Of A Factorial: Find the last non-zero digit of a factorial | exercise solution codepad | |
| 429 | 05 Apr 2013 | Last Non-Zero Digit Of A Factorial: Find the | last non-zero digit of a factorial | exercise solution codepad |
| 264 | 19 Aug 2011 | First Non-Repeating Character: Find the first character in a string that doesn’t repeat | later in the string | exercise solution codepad |
| 38 | 02 Jun 2009 | Pig | Latin: A simple exercise to solve a children’s game | exercise solution codepad |
| 179 | 26 Oct 2010 | Benford’s | Law: A useful mathematical oddity, and an example of text file databases | exercise solution codepad |
| 155 | 03 Aug 2010 | Carl Hewitt’s Same-Fringe Problem: Do two trees have the same leaves, solved with streams | (lazy lists) | exercise solution codepad |
| 144 | 25 Jun 2010 | Learn A New Language: Solve the exercise of your choice in an unfamiliar language | exercise solution codepad | |
| 316 | 21 Feb 2012 | Learn A New Language: Solve the exercise of your choice in an unfamiliar language | exercise solution codepad | |
| 306 | 17 Jan 2012 | Guess The Number: Number-guessing game for children | learning arithmetic | exercise solution codepad |
| 198 | 31 Dec 2010 | Arithmetic Drill: Repetitious drill for children | learning basic arithmetic | exercise solution codepad |
| 422 | 12 Mar 2013 | An Array Of Two Symbols: A | learning experience for binary search | exercise solution codepad |
| 118 | 12 Mar 2010 | Traveling Salesman: Brute Force: Examine all possible permutations to find the | least-cost tour | exercise solution codepad |
| 155 | 03 Aug 2010 | Carl Hewitt’s Same-Fringe Problem: Do two trees have the same | leaves, solved with streams (lazy lists) | exercise solution codepad |
| 171 | 28 Sep 2010 | Maxiphobic Heaps: A priority-queue data structure, similar to | leftist heaps, due to Chris Okasaki | exercise solution codepad |
| 256 | 22 Jul 2011 | Counting Primes Using | Legendre’s Formula: Recreate Legendre’s two-century old calculation of the number of primes less than a million | exercise solution codepad |
| 257 | 26 Jul 2011 | More Prime-Counting Functions: Prime counting functions by Meissel and Lehmer, based on | Legendre’s sum | exercise solution codepad |
| 336 | 01 May 2012 | Legendre’s Symbol: Determine if a number is a quadratic residue mod m | exercise solution codepad | |
| 256 | 22 Jul 2011 | Counting Primes Using Legendre’s Formula: Recreate | Legendre’s two-century old calculation of the number of primes less than a million | exercise solution codepad |
| 257 | 26 Jul 2011 | More Prime-Counting Functions: Prime counting functions by Meissel and | Lehmer, based on Legendre’s sum | exercise solution codepad |
| 114 | 26 Feb 2010 | Run | Length Encoding: A simple compression method for text files | exercise solution codepad |
| 261 | 09 Aug 2011 | Hett’s Problem 1.28: Sorting a list of lists according to | length of sublists | exercise solution codepad |
| 376 | 21 Sep 2012 | Autumn Equinox: Calculate the | length of the day; provides a time-handling library | exercise solution codepad |
| 56 | 04 Aug 2009 | Lenstra’s Algorithm: Hendrik Lenstra’s original algorithm for elliptic curve factorization | exercise solution codepad | |
| 56 | 04 Aug 2009 | Lenstra’s Algorithm: Hendrik | Lenstra’s original algorithm for elliptic curve factorization | exercise solution codepad |
| 445 | 31 May 2013 | The Seven Bridges of Königsberg: A classic graph puzzle due to | Leonhard Euler | exercise solution codepad |
| 459 | 23 Jul 2013 | Telephone Lookup: A directory-assistance program by Mike | Lesk | exercise solution codepad |
| 256 | 22 Jul 2011 | Counting Primes Using Legendre’s Formula: Recreate Legendre’s two-century old calculation of the number of primes | less than a million | exercise solution codepad |
| 348 | 15 Jun 2012 | Counting Ones: Count the number of 1-digits in the numbers | less than n | exercise solution codepad |
| 87 | 20 Nov 2009 | Master Mind, Part 2: Solve a Master Mind puzzle in five probes or | less | exercise solution codepad |
| 53 | 24 Jul 2009 | Let’s Make A Deal!: Simulate a tricky probability calculation | exercise solution codepad | |
| 172 | 01 Oct 2010 | Oban Numbers: Numbers that omit the | letter “o” when spelled, and a function to convert numbers to words | exercise solution codepad |
| 416 | 19 Feb 2013 | NPR Sunday Puzzle: Find two words containing the | letters a, b, c, d, e and f | exercise solution codepad |
| 189 | 30 Nov 2010 | Form | Letters: Merge a schema and a data file to write form letters | exercise solution codepad |
| 353 | 03 Jul 2012 | Chopping Words: Form a chain of words by removing | letters one at a time | exercise solution codepad |
| 106 | 29 Jan 2010 | Straddling Checkerboard: An alternative to the Polybius square for ciphers that must convert | letters to digits | exercise solution codepad |
| 149 | 13 Jul 2010 | Word Cube: A game to form words from a given set of | letters | exercise solution codepad |
| 189 | 30 Nov 2010 | Form Letters: Merge a schema and a data file to write form | letters | exercise solution codepad |
| 325 | 23 Mar 2012 | Base-26 Arithmetic: Perform arithmetic on integers represented as strings of | letters | exercise solution codepad |
| 183 | 09 Nov 2010 | Subset Sums: Third | level of the Greplin Programming Challenge, using dynamic programming and memoization | exercise solution codepad |
| 117 | 09 Mar 2010 | Lexicographic Permutations: Continually generate the next permutation using an algorithm by Dijkstra | exercise solution codepad | |
| 27 | 24 Apr 2009 | Word Hy-phen-a-tion By Com-pu-ter: Frank | Liang’s hyphenation algorithm, used in TeX | exercise solution codepad |
| 15 | 13 Mar 2009 | Friday, the Thirteenth: A small calendar | library, and a simple use of it | exercise solution codepad |
| 251 | 05 Jul 2011 | Big Numbers: Examples: A | library for big integers: display factorials to 50, determine if a number is prime, and compute its prime factors | exercise solution codepad |
| 249 | 28 Jun 2011 | Big Numbers: Functions: A | library for big integers: gcd, powering, square root, random numbers | exercise solution codepad |
| 241 | 31 May 2011 | Big Numbers: Addition, Subtraction And Multiplication: A | library for big integers: grade-school algorithms for addition, subtraction, and multiplication | exercise solution codepad |
| 245 | 14 Jun 2011 | Big Numbers: Input And Output: A | library for big integers: input and output with radix conversion | exercise solution codepad |
| 239 | 24 May 2011 | Big Numbers: Getting Started: A | library for big integers: representation, comparison, simple functions | exercise solution codepad |
| 247 | 21 Jun 2011 | Big Numbers: Testing: A | library for big integers: testing | exercise solution codepad |
| 243 | 07 Jun 2011 | Big Numbers: Division: A | library for big integers: the grade-school algorithm for long division | exercise solution codepad |
| 39 | 05 Jun 2009 | Ternary Search Tries: Build a function | library for handling ternary search tries | exercise solution codepad |
| 48 | 07 Jul 2009 | Modular Arithmetic: A function | library for performing modular addition, subtraction, multiplication, division, and square root | exercise solution codepad |
| 269 | 06 Sep 2011 | Deques: | Library implementation of double-ended queues | exercise solution codepad |
| 30 | 05 May 2009 | Priority Queues: A simple | library implementation of the priority queue data structure | exercise solution codepad |
| 205 | 25 Jan 2011 | Rational Numbers: A | library of basic arithmetic and comparison of fractions | exercise solution codepad |
| 54 | 28 Jul 2009 | Elliptic Curves: | Library of basic functions on elliptic curves | exercise solution codepad |
| 480 | 08 Oct 2013 | Functional-Style Linked Lists: A | library of functions on functional-style lists made from immutable pairs | exercise solution codepad |
| 481 | 11 Oct 2013 | Imperative-Style Linked Lists: A | library of functions on imperative-style lists made from mutable pairs | exercise solution codepad |
| 302 | 03 Jan 2012 | Turtle Graphics: A minimal | library of turtle graphics, as in the Logo language, implemented in PostScript | exercise solution codepad |
| 13 | 06 Mar 2009 | Roman Numerals: A | library to read and write Roman numerals | exercise solution codepad |
| 376 | 21 Sep 2012 | Autumn Equinox: Calculate the length of the day; provides a time-handling | library | exercise solution codepad |
| 333 | 20 Apr 2012 | John Horton Conway’s Game Of | Life: The classic cellular automata | exercise solution codepad |
| 33 | 15 May 2009 | Cellular Automata: | Linear cellular automata as described by Stephen Wolfram in his book A New Kind of Science | exercise solution codepad |
| 151 | 20 Jul 2010 | Solving Systems Of | Linear Equations: Matrix operations LU-decomposition and LUP-decomposition | exercise solution codepad |
| 275 | 27 Sep 2011 | Statistics: Calculate the mean, standard deviation, | linear regression and correlation | exercise solution codepad |
| 85 | 13 Nov 2009 | Two | linear sorts: Count sort and radix sort exploit the structure of integer keys | exercise solution codepad |
| 176 | 15 Oct 2010 | Find The Longest Palindrome In A String: A beautiful | linear-time algorithm due to Johan Jeuring | exercise solution codepad |
| 395 | 30 Nov 2012 | Selection, Revisited: A guaranteed | linear-time algorithm for selection | exercise solution codepad |
| 154 | 30 Jul 2010 | Fibonacci Numbers: Three algorithms taking exponential time, | linear time, and logarithmic time | exercise solution codepad |
| 360 | 27 Jul 2012 | Min Stack: Provide push and pop operations and find the minimum element in | linear time | exercise solution codepad |
| 357 | 17 Jul 2012 | Breshenham’s | Line-Drawing Algorithm: Draw straight lines using raster graphics | exercise solution codepad |
| 235 | 10 May 2011 | Comm: select or reject | lines common to two sorted files | exercise solution codepad |
| 308 | 24 Jan 2012 | A Dozen | Lines Of Code: Do something cool in a small space | exercise solution codepad |
| 173 | 05 Oct 2010 | George Marsaglia’s Random Number Generators: Nine high-quality RNGs in nineteen | lines of code | exercise solution codepad |
| 159 | 17 Aug 2010 | Cut: Select fields or characters from input | lines | exercise solution codepad |
| 357 | 17 Jul 2012 | Breshenham’s Line-Drawing Algorithm: Draw straight | lines using raster graphics | exercise solution codepad |
| 1 | 19 Feb 2009 | RPN Calculator: Evaluate numeric expressions at the command | line | exercise solution codepad |
| 425 | 22 Mar 2013 | Jumping Jack: Jump in increasing sizes along the number | line | exercise solution codepad |
| 458 | 19 Jul 2013 | J K Rowling: Identify an author using forensic | linguistics | exercise solution codepad |
| 266 | 26 Aug 2011 | Reverse Every K Nodes Of A | Linked List: Reverse the elements of a sub-list | exercise solution codepad |
| 480 | 08 Oct 2013 | Functional-Style | Linked Lists: A library of functions on functional-style lists made from immutable pairs | exercise solution codepad |
| 481 | 11 Oct 2013 | Imperative-Style | Linked Lists: A library of functions on imperative-style lists made from mutable pairs | exercise solution codepad |
| 392 | 20 Nov 2012 | List Difference: Another algorithm on | linked lists | exercise solution codepad |
| 84 | 10 Nov 2009 | Merge Sort: A fast, stable sorting algorithm, especially well-suited to | linked lists | exercise solution codepad |
| 391 | 16 Nov 2012 | List Intersection And Union: Two algorithms on | linked lists, with multiple solutions | exercise solution codepad |
| 78 | 20 Oct 2009 | Shuffle: Create random permutations of an array or | linked list | exercise solution codepad |
| 284 | 01 Nov 2011 | RIP John McCarthy: Implementation of the “Maxwell’s equations of software” from the | LISP 1.5 Programmer’s Manual | exercise solution codepad |
| 215 | 01 Mar 2011 | An Early LISP Program: A program to flatten a list, from the March 1960 | LISP I manual | exercise solution codepad |
| 215 | 01 Mar 2011 | An Early | LISP Program: A program to flatten a list, from the March 1960 LISP I manual | exercise solution codepad |
| 369 | 28 Aug 2012 | Random Access Lists: A clever data structure that provides O(log n) access to items in a sequential | list, along with cons, head and tail | exercise solution codepad |
| 482 | 15 Oct 2013 | Find The Minimum Difference: Find the minimum difference between any item from on | list and any item from another list | exercise solution codepad |
| 392 | 20 Nov 2012 | List Difference: Another algorithm on linked lists | exercise solution codepad | |
| 438 | 07 May 2013 | Three | List Exercises: Three simple exercises on lists, for beginning programmers | exercise solution codepad |
| 136 | 28 May 2010 | Printing Files: A simple program to | list files, similar to the unix pr program | exercise solution codepad |
| 215 | 01 Mar 2011 | An Early LISP Program: A program to flatten a | list, from the March 1960 LISP I manual | exercise solution codepad |
| 146 | 02 Jul 2010 | Contents: Chronological | Listing Of Exercises: Blog management | exercise solution codepad |
| 263 | 16 Aug 2011 | Insert Into A Cyclic Sorted List: Insert a new element into a cyclic | list, in order | exercise solution codepad |
| 263 | 16 Aug 2011 | Insert Into A Cyclic Sorted | List: Insert a new element into a cyclic list, in order | exercise solution codepad |
| 391 | 16 Nov 2012 | List Intersection And Union: Two algorithms on linked lists, with multiple solutions | exercise solution codepad | |
| 301 | 30 Dec 2011 | Split: Split a | list in two halves using the tortoise-and-hare algorithm | exercise solution codepad |
| 452 | 25 Jun 2013 | Swap | List Nodes: Swap the kth node from the beginning of a list with the kth node from the end of a list | exercise solution codepad |
| 261 | 09 Aug 2011 | Hett’s Problem 1.28: Sorting a | list of lists according to length of sublists | exercise solution codepad |
| 213 | 22 Feb 2011 | Sliding Window Minimum: | List of minimums sliding across an input list | exercise solution codepad |
| 472 | 06 Sep 2013 | Cartesian Product: Cross-product of the items in a variable-length | list of variable-length lists | exercise solution codepad |
| 266 | 26 Aug 2011 | Reverse Every K Nodes Of A Linked | List: Reverse the elements of a sub-list | exercise solution codepad |
| 261 | 09 Aug 2011 | Hett’s Problem 1.28: Sorting a list of | lists according to length of sublists | exercise solution codepad |
| 369 | 28 Aug 2012 | Random Access | Lists: A clever data structure that provides O(log n) access to items in a sequential list, along with cons, head and tail | exercise solution codepad |
| 480 | 08 Oct 2013 | Functional-Style Linked | Lists: A library of functions on functional-style lists made from immutable pairs | exercise solution codepad |
| 481 | 11 Oct 2013 | Imperative-Style Linked | Lists: A library of functions on imperative-style lists made from mutable pairs | exercise solution codepad |
| 430 | 09 Apr 2013 | Cyclic Equality: Determine if two cyclic | lists are equal | exercise solution codepad |
| 431 | 12 Apr 2013 | Booth’s Algorithm: Determine of two cyclic | lists are equal | exercise solution codepad |
| 438 | 07 May 2013 | Three List Exercises: Three simple exercises on | lists, for beginning programmers | exercise solution codepad |
| 480 | 08 Oct 2013 | Functional-Style Linked Lists: A library of functions on functional-style | lists made from immutable pairs | exercise solution codepad |
| 481 | 11 Oct 2013 | Imperative-Style Linked Lists: A library of functions on imperative-style | lists made from mutable pairs | exercise solution codepad |
| 58 | 11 Aug 2009 | Uncle Bob’s Bowling Game Kata: Use pattern-matching on | lists to solve a classic object-oriented programming exercise | exercise solution codepad |
| 155 | 03 Aug 2010 | Carl Hewitt’s Same-Fringe Problem: Do two trees have the same leaves, solved with streams (lazy | lists) | exercise solution codepad |
| 392 | 20 Nov 2012 | List Difference: Another algorithm on linked | lists | exercise solution codepad |
| 472 | 06 Sep 2013 | Cartesian Product: Cross-product of the items in a variable-length list of variable-length | lists | exercise solution codepad |
| 84 | 10 Nov 2009 | Merge Sort: A fast, stable sorting algorithm, especially well-suited to linked | lists | exercise solution codepad |
| 255 | 19 Jul 2011 | Sum Of Two Integers: Determine if two integers in a | list sum to a target | exercise solution codepad |
| 391 | 16 Nov 2012 | List Intersection And Union: Two algorithms on linked | lists, with multiple solutions | exercise solution codepad |
| 267 | 30 Aug 2011 | Hamming Numbers: | List the numbers with no factors greater than 5, a classic problem popularized by Dijkstra | exercise solution codepad |
| 193 | 14 Dec 2010 | Longest Duplicated Substring: Use a sorted suffix | list | exercise solution codepad |
| 213 | 22 Feb 2011 | Sliding Window Minimum: List of minimums sliding across an input | list | exercise solution codepad |
| 231 | 26 Apr 2011 | Miscellanea: FizzBuzz, Prime Words, and Split A | List | exercise solution codepad |
| 452 | 25 Jun 2013 | Swap List Nodes: Swap the kth node from the beginning of a list with the kth node from the end of a | list | exercise solution codepad |
| 482 | 15 Oct 2013 | Find The Minimum Difference: Find the minimum difference between any item from on list and any item from another | list | exercise solution codepad |
| 5 | 19 Feb 2009 | Flavius Josephus: Programming a cyclical | list | exercise solution codepad |
| 78 | 20 Oct 2009 | Shuffle: Create random permutations of an array or linked | list | exercise solution codepad |
| 93 | 11 Dec 2009 | Selection: Find the kth-largest item in a | list | exercise solution codepad |
| 452 | 25 Jun 2013 | Swap List Nodes: Swap the kth node from the beginning of a | list with the kth node from the end of a list | exercise solution codepad |
| 157 | 10 Aug 2010 | Literate Programming: Structured documentation in the style of Donald Knuth | exercise solution codepad | |
| 456 | 12 Jul 2013 | Dynamic Hash Tables: Hash tables that grow and contract automatically to maintain a constant | load factor | exercise solution codepad |
| 32 | 12 May 2009 | Loan Amortization: Calculate and print a simple loan amortization table | exercise solution codepad | |
| 32 | 12 May 2009 | Loan Amortization: Calculate and print a simple | loan amortization table | exercise solution codepad |
| 201 | 11 Jan 2011 | Two Integrals: The exponential and | logarithmic integral, and an approximation for prime-pi | exercise solution codepad |
| 258 | 29 Jul 2011 | Approximating Pi: Approximating pi with the | logarithmic integral and Riemann’s R function | exercise solution codepad |
| 154 | 30 Jul 2010 | Fibonacci Numbers: Three algorithms taking exponential time, linear time, and | logarithmic time | exercise solution codepad |
| 276 | 30 Sep 2011 | Logarithm Tables: Print old-fashioned tables of | logarithms and anti-logarithms | exercise solution codepad |
| 134 | 07 May 2010 | Integer | Logarithms: An improved algorithm is O(log n) instead of O(n) | exercise solution codepad |
| 95 | 18 Dec 2009 | Calculating Logarithms: Use the methods of Newton and Euler to calculate square roots and | logarithms | exercise solution codepad |
| 95 | 18 Dec 2009 | Calculating | Logarithms: Use the methods of Newton and Euler to calculate square roots and logarithms | exercise solution codepad |
| 276 | 30 Sep 2011 | Logarithm Tables: Print old-fashioned tables of logarithms and anti-logarithms | exercise solution codepad | |
| 79 | 23 Oct 2009 | Mr. S. and Mr. P.: A | logic puzzle popularized by John McCarthy | exercise solution codepad |
| 42 | 16 Jun 2009 | Who Owns The Zebra?: A | logic puzzle, solved by embedding a Prolog-like logic system in Scheme | exercise solution codepad |
| 7 | 20 Feb 2009 | Multiple Dwellings: A simple | logic puzzle, solved with the amb non-deterministic operator |
exercise solution codepad |
| 41 | 12 Jun 2009 | Feynman’s Puzzle: A simple | logic puzzle | exercise solution codepad |
| 42 | 16 Jun 2009 | Who Owns The Zebra?: A logic puzzle, solved by embedding a Prolog-like | logic system in Scheme | exercise solution codepad |
| 100 | 08 Jan 2010 | Nim: A two-player game of mathematical | logic | exercise solution codepad |
| 86 | 17 Nov 2009 | Master Mind, Part 1: Referee a two-player game of deductive | logic | exercise solution codepad |
| 302 | 03 Jan 2012 | Turtle Graphics: A minimal library of turtle graphics, as in the | Logo language, implemented in PostScript | exercise solution codepad |
| 387 | 02 Nov 2012 | Gasoline Mileage | Log: Read a file of gasoline purchases to compute miles per gallon | exercise solution codepad |
| 243 | 07 Jun 2011 | Big Numbers: Division: A library for big integers: the grade-school algorithm for | long division | exercise solution codepad |
| 40 | 09 Jun 2009 | Longest Common Subsequence: A classic programming algorithm, with a solution that dates to folklore | exercise solution codepad | |
| 193 | 14 Dec 2010 | Longest Duplicated Substring: Use a sorted suffix list | exercise solution codepad | |
| 176 | 15 Oct 2010 | Find The | Longest Palindrome In A String: A beautiful linear-time algorithm due to Johan Jeuring | exercise solution codepad |
| 448 | 11 Jun 2013 | Longest Substring Of Two Unique Characters: | Longest run of consecutive characters in a string that contains only two unique characters | exercise solution codepad |
| 448 | 11 Jun 2013 | Longest Substring Of Two Unique Characters: Longest run of consecutive characters in a string that contains only two unique characters | exercise solution codepad | |
| 270 | 09 Sep 2011 | Mersenne Twister: Random number generator with very | long period, useful for simulations | exercise solution codepad |
| 219 | 15 Mar 2011 | Look And Say: Calculate John Horton Conway’s "Look and Say" sequence | exercise solution codepad | |
| 223 | 28 Mar 2011 | Look And Say, Revisited: Compute Conway’s constant | exercise solution codepad | |
| 219 | 15 Mar 2011 | Look And Say: Calculate John Horton Conway’s | "Look and Say" sequence | exercise solution codepad |
| 147 | 06 Jul 2010 | Chaocipher: First | look at a ninety-two year old autokey-type cipher | exercise solution codepad |
| 459 | 23 Jul 2013 | Telephone | Lookup: A directory-assistance program by Mike Lesk | exercise solution codepad |
| 207 | 01 Feb 2011 | Cuckoo Hashing: A hashing system with guaranteed constant-time | lookup and amortized constant-time insertion | exercise solution codepad |
| 116 | 05 Mar 2010 | Binary Search Tree: Classic data structure, providing insert, delete and | lookup for ordered datatypes | exercise solution codepad |
| 220 | 18 Mar 2011 | Loopy Loops: Print the numbers from 1 to 1000 without using | loops or conditionals | exercise solution codepad |
| 220 | 18 Mar 2011 | Loopy | Loops: Print the numbers from 1 to 1000 without using loops or conditionals | exercise solution codepad |
| 220 | 18 Mar 2011 | Loopy Loops: Print the numbers from 1 to 1000 without using loops or conditionals | exercise solution codepad | |
| 371 | 04 Sep 2012 | Fountain Codes: Transmit files over a | lossy channel | exercise solution codepad |
| 90 | 01 Dec 2009 | Wolves And Rabbits: Analyze population dynamics using the | Lotka-Volterra equations | exercise solution codepad |
| 192 | 10 Dec 2010 | Two Random Selections: Use random number to select fortunes and | lotto winners | exercise solution codepad |
| 209 | 08 Feb 2011 | The First Computer Program: Ada | Lovelace’s program to compute Bernoulli numbers for Charles Babbage’s Analytical Engine | exercise solution codepad |
| 218 | 11 Mar 2011 | Lowest Common Ancestor: Find the lowest node in a binary search tree that is a common ancestor to two given nodes | exercise solution codepad | |
| 218 | 11 Mar 2011 | Lowest Common Ancestor: Find the | lowest node in a binary search tree that is a common ancestor to two given nodes | exercise solution codepad |
| 454 | 02 Jul 2013 | Decoding Text-Speak: Expnd txt wth only intl vwls and n dbld | ltrs | exercise solution codepad |
| 242 | 03 Jun 2011 | Mersenne Primes: The | Lucas-Lehmer test for identifying primes of the form 2n−1 | exercise solution codepad |
| 478 | 01 Oct 2013 | Lucas Sequences: Fast methods for calculating Lucas sequences, similar to Fibonacci sequences | exercise solution codepad | |
| 478 | 01 Oct 2013 | Lucas Sequences: Fast methods for calculating | Lucas sequences, similar to Fibonacci sequences | exercise solution codepad |
| 151 | 20 Jul 2010 | Solving Systems Of Linear Equations: Matrix operations | LU-decomposition and LUP-decomposition | exercise solution codepad |
| 226 | 08 Apr 2011 | Credit Card Validation: Validate decimal numbers using the | Luhn algorithm | exercise solution codepad |
| 151 | 20 Jul 2010 | Solving Systems Of Linear Equations: Matrix operations LU-decomposition and | LUP-decomposition | exercise solution codepad |
| 21 | 03 Apr 2009 | Programming the Turing | Machine: A turing-machine program to multiply two numbers | exercise solution codepad |
| 19 | 27 Mar 2009 | A Turing | Machine Simulator: An interpreter for a single-tape, multi-symbol turing machine | exercise solution codepad |
| 16 | 17 Mar 2009 | Comma-Separated Values: Retrieve records from a comma-separated values file using a finite-state | machine | exercise solution codepad |
| 19 | 27 Mar 2009 | A Turing Machine Simulator: An interpreter for a single-tape, multi-symbol turing | machine | exercise solution codepad |
| 202 | 14 Jan 2011 | Slots: Simulate a slot | machine | exercise solution codepad |
| 356 | 13 Jul 2012 | The Evolution Of Flibs: Use genetic programming to build a finite state | machine | exercise solution codepad |
| 480 | 08 Oct 2013 | Functional-Style Linked Lists: A library of functions on functional-style lists | made from immutable pairs | exercise solution codepad |
| 481 | 11 Oct 2013 | Imperative-Style Linked Lists: A library of functions on imperative-style lists | made from mutable pairs | exercise solution codepad |
| 456 | 12 Jul 2013 | Dynamic Hash Tables: Hash tables that grow and contract automatically to | maintain a constant load factor | exercise solution codepad |
| 345 | 05 Jun 2012 | Binomial Heaps: Another algorithm for | maintaining priority queues | exercise solution codepad |
| 59 | 14 Aug 2009 | Pairing Heaps: A standard algorithm for | maintaining priority queues | exercise solution codepad |
| 297 | 16 Dec 2011 | Majority Voting: Determine the results of an election | exercise solution codepad | |
| 53 | 24 Jul 2009 | Let’s | Make A Deal!: Simulate a tricky probability calculation | exercise solution codepad |
| 491 | 08 Nov 2013 | Two Stacks | Make A Queue: Implement a queue using two stacks | exercise solution codepad |
| 490 | 05 Nov 2013 | Two Queues | Make A Stack: Implement a stack using two queues | exercise solution codepad |
| 417 | 22 Feb 2013 | Floupia: | Make change in a strange currency | exercise solution codepad |
| 331 | 13 Apr 2012 | McNugget Numbers, Revisited: The classic coin problem in disguise, how to count the number of ways to | make change | exercise solution codepad |
| 441 | 17 May 2013 | Coin Change, Part 1: Classic problem to count the ways to | make change | exercise solution codepad |
| 363 | 07 Aug 2012 | Make: The classic Unix utility for managing file dependencies | exercise solution codepad | |
| 153 | 27 Jul 2010 | HAMURABI.BAS: | Manage grain and land in ancient Sumeria | exercise solution codepad |
| 146 | 02 Jul 2010 | Contents: Chronological Listing Of Exercises: Blog | management | exercise solution codepad |
| 148 | 09 Jul 2010 | Contents: Permuted Table Of Contents: Blog | management | exercise solution codepad |
| 150 | 16 Jul 2010 | Contents: Themes: Blog | Management | exercise solution codepad |
| 473 | 12 Sep 2013 | Diffie Hellman Key Exchange: | Manage secure exchanges on an insecure communications channel | exercise solution codepad |
| 363 | 07 Aug 2012 | Make: The classic Unix utility for | managing file dependencies | exercise solution codepad |
| 215 | 01 Mar 2011 | An Early LISP Program: A program to flatten a list, from the March 1960 LISP I | manual | exercise solution codepad |
| 284 | 01 Nov 2011 | RIP John McCarthy: Implementation of the “Maxwell’s equations of software” from the LISP 1.5 Programmer’s | Manual | exercise solution codepad |
| 466 | 16 Aug 2013 | Monkey Grid Puzzle: How | many points can the monkey access? | exercise solution codepad |
| 74 | 06 Oct 2009 | MapReduce: Google’s famous system for parallelizing computations expressed as a programming idiom | exercise solution codepad | |
| 347 | 12 Jun 2012 | Ordered | Maps: A key/value dictionary that supports an ordering relationship | exercise solution codepad |
| 330 | 10 Apr 2012 | Galton: Simulate a | marble-drop that forms a bell-shaped curve | exercise solution codepad |
| 215 | 01 Mar 2011 | An Early LISP Program: A program to flatten a list, from the | March 1960 LISP I manual | exercise solution codepad |
| 10 | 24 Feb 2009 | Mardi Gras: Compute the date of Easter | exercise solution codepad | |
| 11 | 27 Feb 2009 | Mark V. Shaney: Generate parodies of a text using a | Markov chain | exercise solution codepad |
| 11 | 27 Feb 2009 | Mark V. Shaney: Generate parodies of a text using a Markov chain | exercise solution codepad | |
| 160 | 20 Aug 0 | Marriage Sort: A sub-quadratic sort similar to shell sort or comb sort | exercise solution codepad | |
| 173 | 05 Oct 2010 | George | Marsaglia’s Random Number Generators: Nine high-quality RNGs in nineteen lines of code | exercise solution codepad |
| 66 | 08 Sep 2009 | Porter Stemming: | Martin Porter’s algorithm for removing suffices from word stems | exercise solution codepad |
| 470 | 30 Aug 2013 | BMI Calculator: Calculate a person’s body | mass index | exercise solution codepad |
| 86 | 17 Nov 2009 | Master Mind, Part 1: Referee a two-player game of deductive logic | exercise solution codepad | |
| 87 | 20 Nov 2009 | Master Mind, Part 2: Solve a Master Mind puzzle in five probes or less | exercise solution codepad | |
| 87 | 20 Nov 2009 | Master Mind, Part 2: Solve a | Master Mind puzzle in five probes or less | exercise solution codepad |
| 67 | 11 Sep 2009 | Beautiful Code: A simple regular-expression | matcher by Rob Pike | exercise solution codepad |
| 69 | 18 Sep 2009 | Regular Expressions, Part 2: The corresponding | matcher | exercise solution codepad |
| 71 | 25 Sep 2009 | Grep: Simple version of the classic unix regular-expression | matching utility | exercise solution codepad |
| 51 | 17 Jul 2009 | International Mathematical Olympiad: Three exercises from 1960s | math competitions | exercise solution codepad |
| 232 | 29 Apr 2011 | Rule 30 RNG: The random number generator from | Mathematica, based on Stephen Wolfram’s Rule 30 cellular automata | exercise solution codepad |
| 100 | 08 Jan 2010 | Nim: A two-player game of | mathematical logic | exercise solution codepad |
| 94 | 15 Dec 2009 | Affine-Shift Cipher: A cryptographically weak but | mathematically interesting cipher | exercise solution codepad |
| 179 | 26 Oct 2010 | Benford’s Law: A useful | mathematical oddity, and an example of text file databases | exercise solution codepad |
| 51 | 17 Jul 2009 | International | Mathematical Olympiad: Three exercises from 1960s math competitions | exercise solution codepad |
| 221 | 22 Mar 2011 | Two Kaprekar Exercises: Kaprekar chains and Kaprekar numbers, from the Indian | mathematician Dattaraya Ramchandra Kaprekar | exercise solution codepad |
| 361 | 31 Jul 2012 | SEND + MORE = MONEY, Part 1: Two slow solutions to a classic problem of recreational | mathematics | exercise solution codepad |
| 362 | 03 Aug 2012 | SEND + MORE = MONEY, Part 2: Two hill-climbing solutions to a classic problem of recreational | mathematics | exercise solution codepad |
| 49 | 10 Jul 2009 | The Golden Ratio: Evaluate a continued fraction, based on my daughter’s | math homework | exercise solution codepad |
| 89 | 27 Nov 2009 | $7.11: A | math puzzle: a+b+c+d = a×b×c×d = 7.11 | exercise solution codepad |
| 229 | 19 Apr 2011 | Same Five Digits: A | math puzzle from New Scientist, solved by guest author Bob Miller | exercise solution codepad |
| 99 | 05 Jan 2010 | The Sum Of Two Squares: A | math puzzle with a solution by Dijkstra | exercise solution codepad |
| 72 | 29 Sep 2009 | Green Eyes: A counting problem from high-school | math | exercise solution codepad |
| 143 | 22 Jun 2010 | Matrix Operations: | Matrix addition, scalar multiplication, multiplication and transposition | exercise solution codepad |
| 313 | 10 Feb 2012 | Search In An Ascending | Matrix: Find a number in a matrix where both rows and columns are sorted in ascending order | exercise solution codepad |
| 151 | 20 Jul 2010 | Solving Systems Of Linear Equations: | Matrix operations LU-decomposition and LUP-decomposition | exercise solution codepad |
| 143 | 22 Jun 2010 | Matrix Operations: Matrix addition, scalar multiplication, multiplication and transposition | exercise solution codepad | |
| 313 | 10 Feb 2012 | Search In An Ascending Matrix: Find a number in a | matrix where both rows and columns are sorted in ascending order | exercise solution codepad |
| 265 | 23 Aug 2011 | Knapsack: Fill a knapsack to | maximize the value of its contents | exercise solution codepad |
| 224 | 01 Apr 2011 | Maximum Difference In An Array: Find maximum Xj &minus Xi, with i ≤ j | exercise solution codepad | |
| 190 | 03 Dec 2010 | Maximum Sum Subsequence: A classic programming exercise due to Jon Bentley | exercise solution codepad | |
| 224 | 01 Apr 2011 | Maximum Difference In An Array: Find | maximum Xj &minus Xi, with i ≤ j | exercise solution codepad |
| 171 | 28 Sep 2010 | Maxiphobic Heaps: A priority-queue data structure, similar to leftist heaps, due to Chris Okasaki | exercise solution codepad | |
| 284 | 01 Nov 2011 | RIP John McCarthy: Implementation of the | “Maxwell’s equations of software” from the LISP 1.5 Programmer’s Manual | exercise solution codepad |
| 284 | 01 Nov 2011 | RIP John | McCarthy: Implementation of the “Maxwell’s equations of software” from the LISP 1.5 Programmer’s Manual | exercise solution codepad |
| 475 | 20 Sep 2013 | McCarthy’s 91 Function: A recursive function designed as a test case for formal verification | exercise solution codepad | |
| 79 | 23 Oct 2009 | Mr. S. and Mr. P.: A logic puzzle popularized by John | McCarthy | exercise solution codepad |
| 113 | 23 Feb 2010 | Engineering A Sort Function: A high-performance quicksort by Jon Bentley and Doug | McIlroy | exercise solution codepad |
| 295 | 09 Dec 2011 | McNugget Numbers: A simple problem, worked out on a napkin | exercise solution codepad | |
| 331 | 13 Apr 2012 | McNugget Numbers, Revisited: The classic coin problem in disguise, how to count the number of ways to make change | exercise solution codepad | |
| 479 | 04 Oct 2013 | Calculating Statistics: Read a file of integers and calculate | mean, median and mode | exercise solution codepad |
| 275 | 27 Sep 2011 | Statistics: Calculate the | mean, standard deviation, linear regression and correlation | exercise solution codepad |
| 479 | 04 Oct 2013 | Calculating Statistics: Read a file of integers and calculate mean, | median and mode | exercise solution codepad |
| 352 | 29 Jun 2012 | Sliding | Median: Find the median of the most recent k items in a stream | exercise solution codepad |
| 344 | 00 May 2012 | Streaming | Median: Find the medians of a set of numbers as they arrive in a stream | exercise solution codepad |
| 396 | 04 Dec 2012 | Median Of Five: A very fast method to compute the median of five items | exercise solution codepad | |
| 396 | 04 Dec 2012 | Median Of Five: A very fast method to compute the | median of five items | exercise solution codepad |
| 352 | 29 Jun 2012 | Sliding Median: Find the | median of the most recent k items in a stream | exercise solution codepad |
| 344 | 00 May 2012 | Streaming Median: Find the | medians of a set of numbers as they arrive in a stream | exercise solution codepad |
| 327 | 30 Mar 2012 | Subset Sum, | Meet In The Middle: An improved solution to the classic NP problem | exercise solution codepad |
| 257 | 26 Jul 2011 | More Prime-Counting Functions: Prime counting functions by | Meissel and Lehmer, based on Legendre’s sum | exercise solution codepad |
| 183 | 09 Nov 2010 | Subset Sums: Third level of the Greplin Programming Challenge, using dynamic programming and | memoization | exercise solution codepad |
| 228 | 15 Apr 2011 | Partition Numbers: Calculate the partition numbers, using | memoization via growing arrays | exercise solution codepad |
| 403 | 28 Dec 2012 | Three Wise | Men: Find the prices of their gifts | exercise solution codepad |
| 189 | 30 Nov 2010 | Form Letters: | Merge a schema and a data file to write form letters | exercise solution codepad |
| 84 | 10 Nov 2009 | Merge Sort: A fast, stable sorting algorithm, especially well-suited to linked lists | exercise solution codepad | |
| 242 | 03 Jun 2011 | Mersenne Primes: The Lucas-Lehmer test for identifying primes of the form 2n−1 | exercise solution codepad | |
| 270 | 09 Sep 2011 | Mersenne Twister: Random number generator with very long period, useful for simulations | exercise solution codepad | |
| 342 | 22 May 2012 | Hamming Codes: Send | messages over a noisy channel without error | exercise solution codepad |
| 22 | 07 Apr 2009 | Flipping Pancakes: A sorting | method analyzed by Bill Gates | exercise solution codepad |
| 367 | 21 Aug 2012 | Two More Random Exercises: Two bad random number generators, the middle-square | method and RANDU | exercise solution codepad |
| 83 | 06 Nov 2009 | Heap Sort: A guaranteed O(log n) sorting | method based on priority queues | exercise solution codepad |
| 114 | 26 Feb 2010 | Run Length Encoding: A simple compression | method for text files | exercise solution codepad |
| 278 | 07 Oct 2011 | Sieve of Sundaram: Sieving for prime numbers using a | method from India | exercise solution codepad |
| 109 | 09 Feb 2010 | Numerical Integration: Quadrature by the rectangular, trapezoidal and Simpson’s | method, including adaptive quadrature | exercise solution codepad |
| 34 | 19 May 2009 | Fermat’s | Method: Integer factorization by Fermat’s algorithm | exercise solution codepad |
| 107 | 02 Feb 2010 | Proving Primality: A deterministic, not probabilistic, | method of checking primality | exercise solution codepad |
| 167 | 14 Sep 2010 | The Factorization Of F7: Part 1: Our fortieth anniversary celebration of Morrison and Brillhart’s | method of integer factorization by continued fractions | exercise solution codepad |
| 168 | 17 Sep 2010 | The Factorization Of F7: Part 2: Our fortieth anniversary celebration of Morrison and Brillhart’s | method of integer factorization by continued fractions | exercise solution codepad |
| 252 | 08 Jul 2011 | Vedic Divisibility: Use a method of testing divisibility using the | method of osculators developed in India | exercise solution codepad |
| 446 | 04 Jun 2013 | Egyptian Fractions: An ancient | method of representing fractions | exercise solution codepad |
| 214 | 25 Feb 2011 | Sieve Of Euler: An alternate, and slow, | method of sieving for primes | exercise solution codepad |
| 252 | 08 Jul 2011 | Vedic Divisibility: Use a | method of testing divisibility using the method of osculators developed in India | exercise solution codepad |
| 75 | 09 Oct 2009 | Calculating Pi: Calculate the value of π by monte-carlo | methods and by an Archimedean method | exercise solution codepad |
| 132 | 30 Apr 2010 | Integer Factorization: Combine trial division, Pollard’s rho and p−1 | methods, and elliptic curves into a single factorization program | exercise solution codepad |
| 478 | 01 Oct 2013 | Lucas Sequences: Fast | methods for calculating Lucas sequences, similar to Fibonacci sequences | exercise solution codepad |
| 95 | 18 Dec 2009 | Calculating Logarithms: Use the | methods of Newton and Euler to calculate square roots and logarithms | exercise solution codepad |
| 248 | 24 Jun 2011 | Thank God It’s Friday!: Three | methods to calculate the day of the week | exercise solution codepad |
| 344 | 01 Jun 2012 | Square Roots: Four | methods to compute square roots, including one from antiquity | exercise solution codepad |
| 396 | 04 Dec 2012 | Median Of Five: A very fast | method to compute the median of five items | exercise solution codepad |
| 227 | 12 Apr 2011 | House Of Representatives: Apportion representatives by the Huntington-Hill | method | exercise solution codepad |
| 75 | 09 Oct 2009 | Calculating Pi: Calculate the value of π by monte-carlo methods and by an Archimedean | method | exercise solution codepad |
| 29 | 01 May 2009 | Primality Checking: A probabilistic primality checker by Gary Miller and | Michael Rabin | exercise solution codepad |
| 327 | 30 Mar 2012 | Subset Sum, Meet In The | Middle: An improved solution to the classic NP problem | exercise solution codepad |
| 367 | 21 Aug 2012 | Two More Random Exercises: Two bad random number generators, the | middle-square method and RANDU | exercise solution codepad |
| 329 | 06 Apr 2012 | Voters: Watch voting blocks | migrate on the screen | exercise solution codepad |
| 459 | 23 Jul 2013 | Telephone Lookup: A directory-assistance program by | Mike Lesk | exercise solution codepad |
| 387 | 02 Nov 2012 | Gasoline | Mileage Log: Read a file of gasoline purchases to compute miles per gallon | exercise solution codepad |
| 387 | 02 Nov 2012 | Gasoline Mileage Log: Read a file of gasoline purchases to compute | miles per gallon | exercise solution codepad |
| 76 | 13 Oct 2009 | Bifid: A simple but effective fractionating cipher, never used | militarily | exercise solution codepad |
| 320 | 06 Mar 2012 | Union Route Cipher: | Military cipher used successfully by Union forces in the American Civil War | exercise solution codepad |
| 57 | 07 Aug 2009 | ADFGX: A classic German | military field cipher from the First World War | exercise solution codepad |
| 47 | 03 Jul 2009 | The Playfair Cipher: A classic | military field cipher | exercise solution codepad |
| 29 | 01 May 2009 | Primality Checking: A probabilistic primality checker by Gary | Miller and Michael Rabin | exercise solution codepad |
| 180 | 29 Oct 2010 | Fibonacci Primes: Find primes among the fibonacci numbers; includes the Park-Miller random number generator and | Miller-Rabin primality checker | exercise solution codepad |
| 419 | 01 Mar 2013 | Baillie-Wagstaff Pseudoprimality Tester: Primality test, an improvement over the | Miller-Rabin test | exercise solution codepad |
| 390 | 13 Nov 2012 | Frobenius Primality Test: A pseudoprimality test, stronger than | Miller-Rabin | exercise solution codepad |
| 229 | 19 Apr 2011 | Same Five Digits: A math puzzle from New Scientist, solved by guest author Bob | Miller | exercise solution codepad |
| 394 | 27 Nov 2012 | Amazon Interview Question: Find the hundred points of a | million closest to the origin | exercise solution codepad |
| 427 | 29 Mar 2013 | One | Million Hits: Celebrating our one-millionth hit! | exercise solution codepad |
| 256 | 22 Jul 2011 | Counting Primes Using Legendre’s Formula: Recreate Legendre’s two-century old calculation of the number of primes less than a | million | exercise solution codepad |
| 439 | 10 May 2013 | MindCipher: Three exercises from the | MindCipher puzzle website | exercise solution codepad |
| 439 | 10 May 2013 | MindCipher: Three exercises from the MindCipher puzzle website | exercise solution codepad | |
| 86 | 17 Nov 2009 | Master | Mind, Part 1: Referee a two-player game of deductive logic | exercise solution codepad |
| 87 | 20 Nov 2009 | Master | Mind, Part 2: Solve a Master Mind puzzle in five probes or less | exercise solution codepad |
| 87 | 20 Nov 2009 | Master Mind, Part 2: Solve a Master | Mind puzzle in five probes or less | exercise solution codepad |
| 302 | 03 Jan 2012 | Turtle Graphics: A | minimal library of turtle graphics, as in the Logo language, implemented in PostScript | exercise solution codepad |
| 341 | 18 May 2012 | Formatted Numeric Output: A | minimal version of C’s printf function |
exercise solution codepad |
| 125 | 06 Apr 2010 | Minimum Spanning Tree: Kruskal’s Algorithm: Find the | minimum-cost tree that includes all the nodes in a graph | exercise solution codepad |
| 126 | 09 Apr 2010 | Minimum Spanning Tree: Prim’s Algorithm: Find the | minimum-cost tree that includes all the nodes in a graph | exercise solution codepad |
| 482 | 15 Oct 2013 | Find The Minimum Difference: Find the | minimum difference between any item from on list and any item from another list | exercise solution codepad |
| 482 | 15 Oct 2013 | Find The | Minimum Difference: Find the minimum difference between any item from on list and any item from another list | exercise solution codepad |
| 360 | 27 Jul 2012 | Min Stack: Provide push and pop operations and find the | minimum element in linear time | exercise solution codepad |
| 213 | 22 Feb 2011 | Sliding Window | Minimum: List of minimums sliding across an input list | exercise solution codepad |
| 364 | 10 Aug 2012 | Minimum Scalar Product: A simple exercise from the practice round of Google Code Jam 2008 | exercise solution codepad | |
| 127 | 13 Apr 2010 | Traveling Salesman: | Minimum Spanning Tree: Heuristic guarantees solution within factor of two of optimal tour | exercise solution codepad |
| 125 | 06 Apr 2010 | Minimum Spanning Tree: Kruskal’s Algorithm: Find the minimum-cost tree that includes all the nodes in a graph | exercise solution codepad | |
| 126 | 09 Apr 2010 | Minimum Spanning Tree: Prim’s Algorithm: Find the minimum-cost tree that includes all the nodes in a graph | exercise solution codepad | |
| 213 | 22 Feb 2011 | Sliding Window Minimum: List of | minimums sliding across an input list | exercise solution codepad |
| 360 | 27 Jul 2012 | Min Stack: Provide push and pop operations and find the minimum element in linear time | exercise solution codepad | |
| 128 | 16 Apr 2010 | Expression Evaluation: Parse and evaluate an arithmetic expression with plus, | minus, times, divide and parentheses | exercise solution codepad |
| 231 | 26 Apr 2011 | Miscellanea: FizzBuzz, Prime Words, and Split A List | exercise solution codepad | |
| 110 | 12 Feb 2010 | Sieve of Atkin: A | modern alternative to the Sieve of Eratosthenes for computing prime numbers | exercise solution codepad |
| 130 | 23 Apr 2010 | Modern Elliptic Curve Factorization, Part 1: Elliptic arithmetic using Montgomery’s parameterization | exercise solution codepad | |
| 131 | 27 Apr 2010 | Modern Elliptic Curve Factorization, Part 2: Elliptic arithmetic using Montgomery’s parameterization | exercise solution codepad | |
| 164 | 03 Sep 2010 | Data Encryption Standard: Part 2: ECB, CBC, CFB and OFB block | modes for DES and other block ciphers | exercise solution codepad |
| 479 | 04 Oct 2013 | Calculating Statistics: Read a file of integers and calculate mean, median and | mode | exercise solution codepad |
| 336 | 01 May 2012 | Legendre’s Symbol: Determine if a number is a quadratic residue | mod m | exercise solution codepad |
| 197 | 28 Dec 2010 | Carmichael Numbers: Composite numbers such that an-1 ≡ 1 | (mod n) if a is prime to n | exercise solution codepad |
| 44 | 23 Jun 2009 | The | Mod Out System: Expand a series of ranges | exercise solution codepad |
| 48 | 07 Jul 2009 | Modular Arithmetic: A function library for performing | modular addition, subtraction, multiplication, division, and square root | exercise solution codepad |
| 48 | 07 Jul 2009 | Modular Arithmetic: A function library for performing modular addition, subtraction, multiplication, division, and square root | exercise solution codepad | |
| 162 | 27 Aug 2010 | Chinese Remainders: An ancient application of | modular inverses | exercise solution codepad |
| 444 | 28 May 2013 | Modular Multiplication Without Overflow: Perform | modular multiplication without overflowing an integer datatype | exercise solution codepad |
| 444 | 28 May 2013 | Modular Multiplication Without Overflow: Perform modular multiplication without overflowing an integer datatype | exercise solution codepad | |
| 393 | 23 Nov 2012 | Tonelli-Shanks Algorithm: Compute | modular square roots | exercise solution codepad |
| 361 | 31 Jul 2012 | SEND + MORE | = MONEY, Part 1: Two slow solutions to a classic problem of recreational mathematics | exercise solution codepad |
| 361 | 31 Jul 2012 | SEND + MORE = | MONEY, Part 1: Two slow solutions to a classic problem of recreational mathematics | exercise solution codepad |
| 362 | 03 Aug 2012 | SEND + MORE | = MONEY, Part 2: Two hill-climbing solutions to a classic problem of recreational mathematics | exercise solution codepad |
| 362 | 03 Aug 2012 | SEND + MORE = | MONEY, Part 2: Two hill-climbing solutions to a classic problem of recreational mathematics | exercise solution codepad |
| 466 | 16 Aug 2013 | Monkey Grid Puzzle: How many points can the | monkey access? | exercise solution codepad |
| 466 | 16 Aug 2013 | Monkey Grid Puzzle: How many points can the monkey access? | exercise solution codepad | |
| 50 | 14 Jul 2009 | The Daily Cryptogram: Solve a | monoalphabetic substitution cipher | exercise solution codepad |
| 43 | 19 Jun 2009 | Monte Carlo Factorization: Integer factorization via Pollard’s rho algorithm | exercise solution codepad | |
| 75 | 09 Oct 2009 | Calculating Pi: Calculate the value of π by | monte-carlo methods and by an Archimedean method | exercise solution codepad |
| 130 | 23 Apr 2010 | Modern Elliptic Curve Factorization, Part 1: Elliptic arithmetic using | Montgomery’s parameterization | exercise solution codepad |
| 131 | 27 Apr 2010 | Modern Elliptic Curve Factorization, Part 2: Elliptic arithmetic using | Montgomery’s parameterization | exercise solution codepad |
| 370 | 31 Aug 2012 | Once In A Blue Moon: Find | months with two full moons | exercise solution codepad |
| 104 | 22 Jan 2010 | Phases Of The | Moon: Calculate the number of days since the last new moon | exercise solution codepad |
| 370 | 31 Aug 2012 | Once In A Blue | Moon: Find months with two full moons | exercise solution codepad |
| 370 | 31 Aug 2012 | Once In A Blue Moon: Find months with two full | moons | exercise solution codepad |
| 104 | 22 Jan 2010 | Phases Of The Moon: Calculate the number of days since the last new | moon | exercise solution codepad |
| 467 | 20 Aug 2013 | More Bit Hacks: A time-honored tradition, and useful | exercise solution codepad | |
| 471 | 03 Sep 2013 | Yet | More Bit Hacks: A time-honored tradition, and useful | exercise solution codepad |
| 194 | 17 Dec 2010 | Polite Numbers: Write numbers as the sum of two or | more consecutive integers | exercise solution codepad |
| 361 | 31 Jul 2012 | SEND | + MORE = MONEY, Part 1: Two slow solutions to a classic problem of recreational mathematics | exercise solution codepad |
| 361 | 31 Jul 2012 | SEND + | MORE = MONEY, Part 1: Two slow solutions to a classic problem of recreational mathematics | exercise solution codepad |
| 362 | 03 Aug 2012 | SEND | + MORE = MONEY, Part 2: Two hill-climbing solutions to a classic problem of recreational mathematics | exercise solution codepad |
| 362 | 03 Aug 2012 | SEND + | MORE = MONEY, Part 2: Two hill-climbing solutions to a classic problem of recreational mathematics | exercise solution codepad |
| 257 | 26 Jul 2011 | More Prime-Counting Functions: Prime counting functions by Meissel and Lehmer, based on Legendre’s sum | exercise solution codepad | |
| 367 | 21 Aug 2012 | Two | More Random Exercises: Two bad random number generators, the middle-square method and RANDU | exercise solution codepad |
| 167 | 14 Sep 2010 | The Factorization Of F7: Part 1: Our fortieth anniversary celebration of | Morrison and Brillhart’s method of integer factorization by continued fractions | exercise solution codepad |
| 168 | 17 Sep 2010 | The Factorization Of F7: Part 2: Our fortieth anniversary celebration of | Morrison and Brillhart’s method of integer factorization by continued fractions | exercise solution codepad |
| 28 | 28 Apr 2009 | Morse Code: Translating the dots-and-dashes of Samuel Finley Breese Morse’s telegraph code | exercise solution codepad | |
| 28 | 28 Apr 2009 | Morse Code: Translating the dots-and-dashes of Samuel Finley Breese | Morse’s telegraph code | exercise solution codepad |
| 352 | 29 Jun 2012 | Sliding Median: Find the median of the | most recent k items in a stream | exercise solution codepad |
| 421 | 08 Mar 2013 | Knight Moves: | Move a knight around a chess board | exercise solution codepad |
| 421 | 08 Mar 2013 | Knight | Moves: Move a knight around a chess board | exercise solution codepad |
| 79 | 23 Oct 2009 | Mr. S. and | Mr. P.: A logic puzzle popularized by John McCarthy | exercise solution codepad |
| 79 | 23 Oct 2009 | Mr. S. and Mr. P.: A logic puzzle popularized by John McCarthy | exercise solution codepad | |
| 336 | 01 May 2012 | Legendre’s Symbol: Determine if a number is a quadratic residue mod | m | exercise solution codepad |
| 272 | 16 Sep 2011 | Pollard’s P−1 Factorization Algoritihm, Revisited: An improved second stage that is | much faster than the original | exercise solution codepad |
| 7 | 20 Feb 2009 | Multiple Dwellings: A simple logic puzzle, solved with the amb non-deterministic operator |
exercise solution codepad | |
| 451 | 21 Jun 2013 | Multiple Polynomial Quadratic Sieve: A greatly improved version of the basic quadratic sieve | exercise solution codepad | |
| 324 | 20 Mar 2012 | Factoring | Multiple RSA Keys: Exploit a key-generation weakness to factor RSA keys | exercise solution codepad |
| 391 | 16 Nov 2012 | List Intersection And Union: Two algorithms on linked lists, with | multiple solutions | exercise solution codepad |
| 382 | 16 Oct 2012 | Version Control: Economically store | multiple versions of text files | exercise solution codepad |
| 289 | 18 Nov 2011 | Grade School Multiplication: Display the steps in the grade school | multiplication algorithm | exercise solution codepad |
| 241 | 31 May 2011 | Big Numbers: Addition, Subtraction And | Multiplication: A library for big integers: grade-school algorithms for addition, subtraction, and multiplication | exercise solution codepad |
| 143 | 22 Jun 2010 | Matrix Operations: Matrix addition, scalar multiplication, | multiplication and transposition | exercise solution codepad |
| 289 | 18 Nov 2011 | Grade School | Multiplication: Display the steps in the grade school multiplication algorithm | exercise solution codepad |
| 102 | 15 Jan 2010 | Three Binary Algorithms: | Multiplication, division and greatest common divisor using binary arithmetic | exercise solution codepad |
| 48 | 07 Jul 2009 | Modular Arithmetic: A function library for performing modular addition, subtraction, | multiplication, division, and square root | exercise solution codepad |
| 143 | 22 Jun 2010 | Matrix Operations: Matrix addition, scalar | multiplication, multiplication and transposition | exercise solution codepad |
| 418 | 26 Feb 2013 | An Odd Way To Square: Square a number without using | multiplication or exponentiation | exercise solution codepad |
| 241 | 31 May 2011 | Big Numbers: Addition, Subtraction And Multiplication: A library for big integers: grade-school algorithms for addition, subtraction, and | multiplication | exercise solution codepad |
| 444 | 28 May 2013 | Modular Multiplication Without Overflow: Perform modular | multiplication without overflowing an integer datatype | exercise solution codepad |
| 444 | 28 May 2013 | Modular | Multiplication Without Overflow: Perform modular multiplication without overflowing an integer datatype | exercise solution codepad |
| 485 | 25 Oct 2013 | Pessimal Algorithms And Simplexity Analysis: The slowsort algorithm using the | multiply and surrender algorithms | exercise solution codepad |
| 21 | 03 Apr 2009 | Programming the Turing Machine: A turing-machine program to | multiply two numbers | exercise solution codepad |
| 19 | 27 Mar 2009 | A Turing Machine Simulator: An interpreter for a single-tape, | multi-symbol turing machine | exercise solution codepad |
| 434 | 23 Apr 2013 | Correct Horse Battery Staple: Randall | Munro’s passphrase generator | exercise solution codepad |
| 106 | 29 Jan 2010 | Straddling Checkerboard: An alternative to the Polybius square for ciphers that | must convert letters to digits | exercise solution codepad |
| 481 | 11 Oct 2013 | Imperative-Style Linked Lists: A library of functions on imperative-style lists made from | mutable pairs | exercise solution codepad |
| 377 | 28 Sep 2012 | Pocklington’s N−1 Primality Prover: Prove n prime if | n−1 can be partially factored | exercise solution codepad |
| 377 | 28 Sep 2012 | Pocklington’s | N−1 Primality Prover: Prove n prime if n−1 can be partially factored | exercise solution codepad |
| 369 | 28 Aug 2012 | Random Access Lists: A clever data structure that provides O(log | n) access to items in a sequential list, along with cons, head and tail | exercise solution codepad |
| 208 | 04 Feb 2011 | Excel Columns: Numbers as in Excel column | names, A=1, Z=26, IV=256 | exercise solution codepad |
| 111 | 16 Feb 2010 | Soundex: An algorithm to assign people’s last | names to equivalence classes based on similar spelling | exercise solution codepad |
| 295 | 09 Dec 2011 | McNugget Numbers: A simple problem, worked out on a | napkin | exercise solution codepad |
| 399 | 14 Dec 2012 | 115132219018763992565095597973971522401: Calculate the sequence of | narcissistic numbers | exercise solution codepad |
| 420 | 05 Mar 2013 | Dutch | National Flag: Classic ternary sort by Edsgar Dijkstra | exercise solution codepad |
| 384 | 23 Oct 2012 | Universal Hash Function: Compute a hash for any | native Scheme datatype | exercise solution codepad |
| 141 | 15 Jun 2010 | Natural Join: The fundamental relational database operator | exercise solution codepad | |
| 103 | 19 Jan 2010 | Flight Planning: Computing the | navigation triangle, by Jos Koot | exercise solution codepad |
| 77 | 16 Oct 2009 | Growable Arrays: Arrays that grow and shrink at run-time, with O(log | n) complexity per operation | exercise solution codepad |
| 454 | 02 Jul 2013 | Decoding Text-Speak: Expnd txt wth only intl vwls and | n dbld ltrs | exercise solution codepad |
| 322 | 13 Mar 2012 | Perfect Power Predicate: Given a positive integer | n, determine if there exists a b and e for which be = n | exercise solution codepad |
| 119 | 16 Mar 2010 | Traveling Salesman: | Nearest Neighbor: A greedy heuristic that builds a path by always choosing the nearest unvisited point | exercise solution codepad |
| 119 | 16 Mar 2010 | Traveling Salesman: Nearest Neighbor: A greedy heuristic that builds a path by always choosing the | nearest unvisited point | exercise solution codepad |
| 300 | 27 Dec 2011 | Cheating Hangman: A version of Hangman that | nearly always wins | exercise solution codepad |
| 432 | 16 Apr 2013 | Date Formatting: | Neatly write a date in a variety of formats | exercise solution codepad |
| 423 | 15 Mar 2013 | Buffon’s | Needle: Compute the value of π with a simulation | exercise solution codepad |
| 119 | 16 Mar 2010 | Traveling Salesman: Nearest | Neighbor: A greedy heuristic that builds a path by always choosing the nearest unvisited point | exercise solution codepad |
| 319 | 02 Mar 2012 | Balanced Delimiters: Determine if | nested delimiters are properly balanced | exercise solution codepad |
| 191 | 07 Dec 2010 | Ullman’s Puzzle: It | never hurts to sort | exercise solution codepad |
| 76 | 13 Oct 2009 | Bifid: A simple but effective fractionating cipher, | never used militarily | exercise solution codepad |
| 263 | 16 Aug 2011 | Insert Into A Cyclic Sorted List: Insert a | new element into a cyclic list, in order | exercise solution codepad |
| 33 | 15 May 2009 | Cellular Automata: Linear cellular automata as described by Stephen Wolfram in his book A | New Kind of Science | exercise solution codepad |
| 144 | 25 Jun 2010 | Learn A | New Language: Solve the exercise of your choice in an unfamiliar language | exercise solution codepad |
| 316 | 21 Feb 2012 | Learn A | New Language: Solve the exercise of your choice in an unfamiliar language | exercise solution codepad |
| 104 | 22 Jan 2010 | Phases Of The Moon: Calculate the number of days since the last | new moon | exercise solution codepad |
| 229 | 19 Apr 2011 | Same Five Digits: A math puzzle from | New Scientist, solved by guest author Bob Miller | exercise solution codepad |
| 95 | 18 Dec 2009 | Calculating Logarithms: Use the methods of | Newton and Euler to calculate square roots and logarithms | exercise solution codepad |
| 404 | 01 Jan 2013 | Happy | New Year!: Find expressions that evaluate to 2013 | exercise solution codepad |
| 318 | 28 Feb 2012 | Next Greater Permutation Of Digits: Find the smallest number larger than the input number using the same digits as the input number | exercise solution codepad | |
| 414 | 12 Feb 2013 | Binary Search Tree: In-Order Predecessor And Successor: Find the previous and | next items in a tree | exercise solution codepad |
| 35 | 22 May 2009 | The | Next Palindrome: Find the next palindromic number greater than the input number | exercise solution codepad |
| 35 | 22 May 2009 | The Next Palindrome: Find the | next palindromic number greater than the input number | exercise solution codepad |
| 117 | 09 Mar 2010 | Lexicographic Permutations: Continually generate the | next permutation using an algorithm by Dijkstra | exercise solution codepad |
| 122 | 26 Mar 2010 | The | Next Prime: Efficiently find the next prime number larger than a given number | exercise solution codepad |
| 122 | 26 Mar 2010 | The Next Prime: Efficiently find the | next prime number larger than a given number | exercise solution codepad |
| 453 | 28 Jun 2013 | A Programming Puzzle: Write a function f so that f(f(n)) | = -n for all integers n. | exercise solution codepad |
| 453 | 28 Jun 2013 | A Programming Puzzle: Write a function f so that f(f(n)) = | -n for all integers n. | exercise solution codepad |
| 197 | 28 Dec 2010 | Carmichael Numbers: Composite numbers such that an-1 ≡ 1 (mod | n) if a is prime to n | exercise solution codepad |
| 100 | 08 Jan 2010 | Nim: A two-player game of mathematical logic | exercise solution codepad | |
| 129 | 20 Apr 2010 | 145 Puzzle: Build and evaluate expressions using the digits one through | nine and the simple arithmetic operators | exercise solution codepad |
| 173 | 05 Oct 2010 | George Marsaglia’s Random Number Generators: | Nine high-quality RNGs in nineteen lines of code | exercise solution codepad |
| 173 | 05 Oct 2010 | George Marsaglia’s Random Number Generators: Nine high-quality RNGs in | nineteen lines of code | exercise solution codepad |
| 260 | 05 Aug 2011 | Ninety-Nine Bottles Of Beer: The popular song | exercise solution codepad | |
| 147 | 06 Jul 2010 | Chaocipher: First look at a | ninety-two year old autokey-type cipher | exercise solution codepad |
| 134 | 07 May 2010 | Integer Logarithms: An improved algorithm is O(log | n) instead of O(n) | exercise solution codepad |
| 452 | 25 Jun 2013 | Swap List Nodes: Swap the kth | node from the beginning of a list with the kth node from the end of a list | exercise solution codepad |
| 452 | 25 Jun 2013 | Swap List Nodes: Swap the kth node from the beginning of a list with the kth | node from the end of a list | exercise solution codepad |
| 218 | 11 Mar 2011 | Lowest Common Ancestor: Find the lowest | node in a binary search tree that is a common ancestor to two given nodes | exercise solution codepad |
| 125 | 06 Apr 2010 | Minimum Spanning Tree: Kruskal’s Algorithm: Find the minimum-cost tree that includes all the | nodes in a graph | exercise solution codepad |
| 126 | 09 Apr 2010 | Minimum Spanning Tree: Prim’s Algorithm: Find the minimum-cost tree that includes all the | nodes in a graph | exercise solution codepad |
| 266 | 26 Aug 2011 | Reverse Every K | Nodes Of A Linked List: Reverse the elements of a sub-list | exercise solution codepad |
| 452 | 25 Jun 2013 | Swap List | Nodes: Swap the kth node from the beginning of a list with the kth node from the end of a list | exercise solution codepad |
| 218 | 11 Mar 2011 | Lowest Common Ancestor: Find the lowest node in a binary search tree that is a common ancestor to two given | nodes | exercise solution codepad |
| 267 | 30 Aug 2011 | Hamming Numbers: List the numbers with | no factors greater than 5, a classic problem popularized by Dijkstra | exercise solution codepad |
| 342 | 22 May 2012 | Hamming Codes: Send messages over a | noisy channel without error | exercise solution codepad |
| 7 | 20 Feb 2009 | Multiple Dwellings: A simple logic puzzle, solved with the amb |
non-deterministic operator | exercise solution codepad |
| 264 | 19 Aug 2011 | First | Non-Repeating Character: Find the first character in a string that doesn’t repeat later in the string | exercise solution codepad |
| 429 | 05 Apr 2013 | Last | Non-Zero Digit Of A Factorial: Find the last non-zero digit of a factorial | exercise solution codepad |
| 429 | 05 Apr 2013 | Last Non-Zero Digit Of A Factorial: Find the last | non-zero digit of a factorial | exercise solution codepad |
| 311 | 03 Feb 2012 | Roman Numeral Puzzle: Count the Roman numerals with | no repeated digits | exercise solution codepad |
| 312 | 07 Feb 2012 | Solar Compass: Determine | North by sighting the Sun | exercise solution codepad |
| 97 | 29 Dec 2009 | A Statisticle Speling Korrecter: Peter | Norvig’s version of the Google spelling suggester | exercise solution codepad |
| 181 | 02 Nov 2010 | Emirps: Prime numbers that are prime when their digits are reversed, but | not palindromic | exercise solution codepad |
| 107 | 02 Feb 2010 | Proving Primality: A deterministic, | not probabilistic, method of checking primality | exercise solution codepad |
| 327 | 30 Mar 2012 | Subset Sum, Meet In The Middle: An improved solution to the classic | NP problem | exercise solution codepad |
| 326 | 27 Mar 2012 | Subset Sum: Solve a classic | NP problem using dynamic programming | exercise solution codepad |
| 377 | 28 Sep 2012 | Pocklington’s N−1 Primality Prover: Prove | n prime if n−1 can be partially factored | exercise solution codepad |
| 279 | 14 Oct 2011 | The First | N Primes: Embedding the Sieve of Eratosthenes in a priority queue instead of an array | exercise solution codepad |
| 416 | 19 Feb 2013 | NPR Sunday Puzzle: Find two words containing the letters a, b, c, d, e and f | exercise solution codepad | |
| 140 | 11 Jun 2010 | N-Queens: Our version of a classic algorithmic exercise | exercise solution codepad | |
| 83 | 06 Nov 2009 | Heap Sort: A guaranteed O(log | n) sorting method based on priority queues | exercise solution codepad |
| 259 | 02 Aug 2011 | The Nth Prime: The | n prime, counting from p1 = 2 | exercise solution codepad |
| 200 | 07 Jan 2011 | Counting Primes: The prime counting function and | nth-prime function | exercise solution codepad |
| 259 | 02 Aug 2011 | The | Nth Prime: The n prime, counting from p1 = 2 | exercise solution codepad |
| 197 | 28 Dec 2010 | Carmichael Numbers: Composite numbers such that an-1 ≡ 1 (mod n) if a is prime to | n | exercise solution codepad |
| 322 | 13 Mar 2012 | Perfect Power Predicate: Given a positive integer n, determine if there exists a b and e for which be | = n | exercise solution codepad |
| 322 | 13 Mar 2012 | Perfect Power Predicate: Given a positive integer n, determine if there exists a b and e for which be = | n | exercise solution codepad |
| 348 | 15 Jun 2012 | Counting Ones: Count the number of 1-digits in the numbers less than | n | exercise solution codepad |
| 453 | 28 Jun 2013 | A Programming Puzzle: Write a function f so that f(f(n)) = -n for all integers | n. | exercise solution codepad |
| 169 | 21 Sep 2010 | Kaprekar Numbers: Square the | number and add the digits in halves | exercise solution codepad |
| 31 | 08 May 2009 | Wheel Factorization: Find the factors of a | number by a variant of trial division | exercise solution codepad |
| 180 | 29 Oct 2010 | Fibonacci Primes: Find primes among the fibonacci numbers; includes the Park-Miller random | number generator and Miller-Rabin primality checker | exercise solution codepad |
| 232 | 29 Apr 2011 | Rule 30 RNG: The random | number generator from Mathematica, based on Stephen Wolfram’s Rule 30 cellular automata | exercise solution codepad |
| 173 | 05 Oct 2010 | George Marsaglia’s Random | Number Generators: Nine high-quality RNGs in nineteen lines of code | exercise solution codepad |
| 367 | 21 Aug 2012 | Two More Random Exercises: Two bad random | number generators, the middle-square method and RANDU | exercise solution codepad |
| 60 | 18 Aug 2009 | Blum Blum Shub: Stream cipher based on a cryptographically secure pseudo-random | number generator | exercise solution codepad |
| 270 | 09 Sep 2011 | Mersenne Twister: Random | number generator with very long period, useful for simulations | exercise solution codepad |
| 35 | 22 May 2009 | The Next Palindrome: Find the next palindromic | number greater than the input number | exercise solution codepad |
| 115 | 02 Mar 2010 | Goldbach’s Conjecture: Every even | number greater than two can be written as the sum of two primes | exercise solution codepad |
| 306 | 17 Jan 2012 | Guess The Number: | Number-guessing game for children learning arithmetic | exercise solution codepad |
| 313 | 10 Feb 2012 | Search In An Ascending Matrix: Find a | number in a matrix where both rows and columns are sorted in ascending order | exercise solution codepad |
| 336 | 01 May 2012 | Legendre’s Symbol: Determine if a | number is a quadratic residue mod m | exercise solution codepad |
| 156 | 06 Aug 2010 | Two Powering Predicates: Determine if a | number is a square or a prime power | exercise solution codepad |
| 251 | 05 Jul 2011 | Big Numbers: Examples: A library for big integers: display factorials to 50, determine if a | number is prime, and compute its prime factors | exercise solution codepad |
| 122 | 26 Mar 2010 | The Next Prime: Efficiently find the next prime | number larger than a given number | exercise solution codepad |
| 318 | 28 Feb 2012 | Next Greater Permutation Of Digits: Find the smallest | number larger than the input number using the same digits as the input number | exercise solution codepad |
| 425 | 22 Mar 2013 | Jumping Jack: Jump in increasing sizes along the | number line | exercise solution codepad |
| 306 | 17 Jan 2012 | Guess The | Number: Number-guessing game for children learning arithmetic | exercise solution codepad |
| 348 | 15 Jun 2012 | Counting Ones: Count the | number of 1-digits in the numbers less than n | exercise solution codepad |
| 455 | 05 Jul 2013 | Weekdays Between Two Dates: | Number of days between two dates, excluding Saturday and Sunday | exercise solution codepad |
| 104 | 22 Jan 2010 | Phases Of The Moon: Calculate the | number of days since the last new moon | exercise solution codepad |
| 307 | 20 Jan 2012 | Knights On A Keypad: Count the | number of knight paths on a keypad | exercise solution codepad |
| 256 | 22 Jul 2011 | Counting Primes Using Legendre’s Formula: Recreate Legendre’s two-century old calculation of the | number of primes less than a million | exercise solution codepad |
| 206 | 28 Jan 2011 | Population Count: Count the | number of set bits (1-bits) in the binary representation of an integer | exercise solution codepad |
| 331 | 13 Apr 2012 | McNugget Numbers, Revisited: The classic coin problem in disguise, how to count the | number of ways to make change | exercise solution codepad |
| 383 | 19 Oct 2012 | Prime Partitions: Compute the | number of ways to sum primes to a target | exercise solution codepad |
| 241 | 31 May 2011 | Big | Numbers: Addition, Subtraction And Multiplication: A library for big integers: grade-school algorithms for addition, subtraction, and multiplication | exercise solution codepad |
| 205 | 25 Jan 2011 | Rational | Numbers: A library of basic arithmetic and comparison of fractions | exercise solution codepad |
| 238 | 20 May 0 | ISBN Validation: Validate ISBN book | numbers, and fetch author and title from the internet | exercise solution codepad |
| 170 | 24 Sep 2010 | Alien | Numbers: An exercise from Google Code Jam | exercise solution codepad |
| 296 | 13 Dec 2011 | Validating Telephone | Numbers: An exercise in input validation | exercise solution codepad |
| 295 | 09 Dec 2011 | McNugget | Numbers: A simple problem, worked out on a napkin | exercise solution codepad |
| 208 | 04 Feb 2011 | Excel Columns: | Numbers as in Excel column names, A=1, Z=26, IV=256 | exercise solution codepad |
| 194 | 17 Dec 2010 | Polite Numbers: Write | numbers as the sum of two or more consecutive integers | exercise solution codepad |
| 344 | 00 May 2012 | Streaming Median: Find the medians of a set of | numbers as they arrive in a stream | exercise solution codepad |
| 374 | 14 Sep 2012 | Tribonacci | Numbers: A variant of fibonacci numbers | exercise solution codepad |
| 228 | 15 Apr 2011 | Partition | Numbers: Calculate the partition numbers, using memoization via growing arrays | exercise solution codepad |
| 197 | 28 Dec 2010 | Carmichael | Numbers: Composite numbers such that an-1 ≡ 1 (mod n) if a is prime to n | exercise solution codepad |
| 389 | 09 Nov 2012 | Taxicab | Numbers: Confirm an interesting observation of Srinivasa Ramanujan | exercise solution codepad |
| 397 | 07 Dec 2012 | Wirth Problem 15.12: Compute a sequence of | numbers defined by Wirth | exercise solution codepad |
| 243 | 07 Jun 2011 | Big | Numbers: Division: A library for big integers: the grade-school algorithm for long division | exercise solution codepad |
| 251 | 05 Jul 2011 | Big | Numbers: Examples: A library for big integers: display factorials to 50, determine if a number is prime, and compute its prime factors | exercise solution codepad |
| 386 | 30 Oct 2012 | Pandigital | Numbers: Find sums that include all ten digits | exercise solution codepad |
| 271 | 13 Sep 2011 | Tetrahedral | Numbers: Find the base of the tetrahedron that contains 169179692512835000 balls | exercise solution codepad |
| 209 | 08 Feb 2011 | The First Computer Program: Ada Lovelace’s program to compute Bernoulli | numbers for Charles Babbage’s Analytical Engine | exercise solution codepad |
| 220 | 18 Mar 2011 | Loopy Loops: Print the | numbers from 1 to 1000 without using loops or conditionals | exercise solution codepad |
| 221 | 22 Mar 2011 | Two Kaprekar Exercises: Kaprekar chains and Kaprekar | numbers, from the Indian mathematician Dattaraya Ramchandra Kaprekar | exercise solution codepad |
| 249 | 28 Jun 2011 | Big | Numbers: Functions: A library for big integers: gcd, powering, square root, random numbers | exercise solution codepad |
| 239 | 24 May 2011 | Big | Numbers: Getting Started: A library for big integers: representation, comparison, simple functions | exercise solution codepad |
| 365 | 14 Aug 2012 | 4SUM: Find four | numbers in an array that sum to zero | exercise solution codepad |
| 450 | 18 Jun 2013 | 3SUM: A classic of computer science: find three | numbers in an array that sum to zero | exercise solution codepad |
| 180 | 29 Oct 2010 | Fibonacci Primes: Find primes among the fibonacci | numbers; includes the Park-Miller random number generator and Miller-Rabin primality checker | exercise solution codepad |
| 245 | 14 Jun 2011 | Big | Numbers: Input And Output: A library for big integers: input and output with radix conversion | exercise solution codepad |
| 152 | 23 Jul 2010 | Happy | Numbers: Iterating the sum of the squares of the digits terminates with one | exercise solution codepad |
| 348 | 15 Jun 2012 | Counting Ones: Count the number of 1-digits in the | numbers less than n | exercise solution codepad |
| 267 | 30 Aug 2011 | Hamming | Numbers: List the numbers with no factors greater than 5, a classic problem popularized by Dijkstra | exercise solution codepad |
| 172 | 01 Oct 2010 | Oban | Numbers: Numbers that omit the letter “o” when spelled, and a function to convert numbers to words | exercise solution codepad |
| 457 | 16 Jul 2013 | Vampire | Numbers: Numbers x * y that consist of the digits of x and y | exercise solution codepad |
| 331 | 13 Apr 2012 | McNugget | Numbers, Revisited: The classic coin problem in disguise, how to count the number of ways to make change | exercise solution codepad |
| 169 | 21 Sep 2010 | Kaprekar | Numbers: Square the number and add the digits in halves | exercise solution codepad |
| 197 | 28 Dec 2010 | Carmichael Numbers: Composite | numbers such that an-1 ≡ 1 (mod n) if a is prime to n | exercise solution codepad |
| 247 | 21 Jun 2011 | Big | Numbers: Testing: A library for big integers: testing | exercise solution codepad |
| 181 | 02 Nov 2010 | Emirps: Prime | numbers that are prime when their digits are reversed, but not palindromic | exercise solution codepad |
| 172 | 01 Oct 2010 | Oban Numbers: | Numbers that omit the letter “o” when spelled, and a function to convert numbers to words | exercise solution codepad |
| 240 | 27 May 2011 | Upside Up: | Numbers that read the same upside down | exercise solution codepad |
| 359 | 24 Jul 2012 | Zeckendorf Representation: Find the fibonacci | numbers that sum to a given number | exercise solution codepad |
| 154 | 30 Jul 2010 | Fibonacci | Numbers: Three algorithms taking exponential time, linear time, and logarithmic time | exercise solution codepad |
| 210 | 11 Feb 2011 | Sums Of Powers: Use Bernoulli | numbers to quickly compute sums of powers | exercise solution codepad |
| 172 | 01 Oct 2010 | Oban Numbers: Numbers that omit the letter “o” when spelled, and a function to convert | numbers to words | exercise solution codepad |
| 110 | 12 Feb 2010 | Sieve of Atkin: A modern alternative to the Sieve of Eratosthenes for computing prime | numbers | exercise solution codepad |
| 21 | 03 Apr 2009 | Programming the Turing Machine: A turing-machine program to multiply two | numbers | exercise solution codepad |
| 249 | 28 Jun 2011 | Big Numbers: Functions: A library for big integers: gcd, powering, square root, random | numbers | exercise solution codepad |
| 366 | 17 Aug 2012 | Two Random Exercises: Two exercises involving random | numbers | exercise solution codepad |
| 374 | 14 Sep 2012 | Tribonacci Numbers: A variant of fibonacci | numbers | exercise solution codepad |
| 399 | 14 Dec 2012 | 115132219018763992565095597973971522401: Calculate the sequence of narcissistic | numbers | exercise solution codepad |
| 278 | 07 Oct 2011 | Sieve of Sundaram: Sieving for prime | numbers using a method from India | exercise solution codepad |
| 228 | 15 Apr 2011 | Partition Numbers: Calculate the partition | numbers, using memoization via growing arrays | exercise solution codepad |
| 226 | 08 Apr 2011 | Credit Card Validation: Validate decimal | numbers using the Luhn algorithm | exercise solution codepad |
| 474 | 17 Sep 2013 | Smallest Consecutive Four-Factor Composites: Find consecutive | numbers with four factors | exercise solution codepad |
| 267 | 30 Aug 2011 | Hamming Numbers: List the | numbers with no factors greater than 5, a classic problem popularized by Dijkstra | exercise solution codepad |
| 194 | 17 Dec 2010 | Polite | Numbers: Write numbers as the sum of two or more consecutive integers | exercise solution codepad |
| 457 | 16 Jul 2013 | Vampire Numbers: | Numbers x * y that consist of the digits of x and y | exercise solution codepad |
| 188 | 26 Nov 2010 | Divisors And Totatives: The | number-theoretic functions divisors, numdivs, sumdivs, totatives, and totient | exercise solution codepad |
| 375 | 18 Sep 2012 | ABC Conjecture: Demonstrate a recently-proved conjecture of | number theory | exercise solution codepad |
| 406 | 08 Jan 2013 | Floating Point Rounding: Round a floating point | number to a given decimal place | exercise solution codepad |
| 192 | 10 Dec 2010 | Two Random Selections: Use random | number to select fortunes and lotto winners | exercise solution codepad |
| 122 | 26 Mar 2010 | The Next Prime: Efficiently find the next prime number larger than a given | number | exercise solution codepad |
| 318 | 28 Feb 2012 | Next Greater Permutation Of Digits: Find the smallest number larger than the input number using the same digits as the input | number | exercise solution codepad |
| 359 | 24 Jul 2012 | Zeckendorf Representation: Find the fibonacci numbers that sum to a given | number | exercise solution codepad |
| 35 | 22 May 2009 | The Next Palindrome: Find the next palindromic number greater than the input | number | exercise solution codepad |
| 413 | 08 Feb 2013 | The Biggest Prime: Print all 17-million digits of the largest known prime | number | exercise solution codepad |
| 318 | 28 Feb 2012 | Next Greater Permutation Of Digits: Find the smallest number larger than the input | number using the same digits as the input number | exercise solution codepad |
| 418 | 26 Feb 2013 | An Odd Way To Square: Square a | number without using multiplication or exponentiation | exercise solution codepad |
| 188 | 26 Nov 2010 | Divisors And Totatives: The number-theoretic functions divisors, | numdivs, sumdivs, totatives, and totient | exercise solution codepad |
| 311 | 03 Feb 2012 | Roman | Numeral Puzzle: Count the Roman numerals with no repeated digits | exercise solution codepad |
| 13 | 06 Mar 2009 | Roman | Numerals: A library to read and write Roman numerals | exercise solution codepad |
| 13 | 06 Mar 2009 | Roman Numerals: A library to read and write Roman | numerals | exercise solution codepad |
| 311 | 03 Feb 2012 | Roman Numeral Puzzle: Count the Roman | numerals with no repeated digits | exercise solution codepad |
| 305 | 13 Jan 2012 | Excel’s XIRR Function: | Numerical calculation of a derivative | exercise solution codepad |
| 109 | 09 Feb 2010 | Numerical Integration: Quadrature by the rectangular, trapezoidal and Simpson’s method, including adaptive quadrature | exercise solution codepad | |
| 1 | 19 Feb 2009 | RPN Calculator: Evaluate | numeric expressions at the command line | exercise solution codepad |
| 341 | 18 May 2012 | Formatted | Numeric Output: A minimal version of C’s printf function |
exercise solution codepad |
| 172 | 01 Oct 2010 | Oban Numbers: Numbers that omit the letter “o” when spelled, and a function to convert numbers to words | exercise solution codepad | |
| 58 | 11 Aug 2009 | Uncle Bob’s Bowling Game Kata: Use pattern-matching on lists to solve a classic | object-oriented programming exercise | exercise solution codepad |
| 389 | 09 Nov 2012 | Taxicab Numbers: Confirm an interesting | observation of Srinivasa Ramanujan | exercise solution codepad |
| 337 | 04 May 2012 | Even-Odd Partition: Partition an array so all even integers precede all | odd integers | exercise solution codepad |
| 179 | 26 Oct 2010 | Benford’s Law: A useful mathematical | oddity, and an example of text file databases | exercise solution codepad |
| 133 | 04 May 2010 | Spectacular Seven: Compute the | odds at jai alai | exercise solution codepad |
| 486 | 29 Oct 2013 | The 16 Game: Determine the | odds in a scratch-off game | exercise solution codepad |
| 418 | 26 Feb 2013 | An | Odd Way To Square: Square a number without using multiplication or exponentiation | exercise solution codepad |
| 164 | 03 Sep 2010 | Data Encryption Standard: Part 2: ECB, CBC, CFB and | OFB block modes for DES and other block ciphers | exercise solution codepad |
| 171 | 28 Sep 2010 | Maxiphobic Heaps: A priority-queue data structure, similar to leftist heaps, due to Chris | Okasaki | exercise solution codepad |
| 147 | 06 Jul 2010 | Chaocipher: First look at a ninety-two year | old autokey-type cipher | exercise solution codepad |
| 256 | 22 Jul 2011 | Counting Primes Using Legendre’s Formula: Recreate Legendre’s two-century | old calculation of the number of primes less than a million | exercise solution codepad |
| 276 | 30 Sep 2011 | Logarithm Tables: Print | old-fashioned tables of logarithms and anti-logarithms | exercise solution codepad |
| 142 | 18 Jun 0 | Parsing Command-Line Arguments: An | old-style getopt function | exercise solution codepad |
| 369 | 28 Aug 2012 | Random Access Lists: A clever data structure that provides | O(log n) access to items in a sequential list, along with cons, head and tail | exercise solution codepad |
| 77 | 16 Oct 2009 | Growable Arrays: Arrays that grow and shrink at run-time, with | O(log n) complexity per operation | exercise solution codepad |
| 134 | 07 May 2010 | Integer Logarithms: An improved algorithm is | O(log n) instead of O(n) | exercise solution codepad |
| 83 | 06 Nov 2009 | Heap Sort: A guaranteed | O(log n) sorting method based on priority queues | exercise solution codepad |
| 51 | 17 Jul 2009 | International Mathematical | Olympiad: Three exercises from 1960s math competitions | exercise solution codepad |
| 172 | 01 Oct 2010 | Oban Numbers: Numbers that | omit the letter “o” when spelled, and a function to convert numbers to words | exercise solution codepad |
| 62 | 25 Aug 2009 | String Search: Knuth-Morris-Pratt: Search for a pattern in a text using an | O(n) algorithm | exercise solution codepad |
| 370 | 31 Aug 2012 | Once In A Blue Moon: Find months with two full moons | exercise solution codepad | |
| 436 | 30 Apr 2013 | First Unrepeated Character In A String: Find the first character that appears only | once in a string | exercise solution codepad |
| 437 | 03 May 2013 | Pairing Students: Create sets of students, each paired to the other only | once | exercise solution codepad |
| 353 | 03 Jul 2012 | Chopping Words: Form a chain of words by removing letters | one at a time | exercise solution codepad |
| 349 | 19 Jun 2012 | Digits Of E: Two algorithms that compute the digits of e, | one bounded, the other unbounded | exercise solution codepad |
| 304 | 10 Jan 2012 | Thirteen Anagram: 12+1=11+2 and “twelve plus | one equals eleven plus two” are both anagrams | exercise solution codepad |
| 344 | 01 Jun 2012 | Square Roots: Four methods to compute square roots, including | one from antiquity | exercise solution codepad |
| 427 | 29 Mar 2013 | One Million Hits: Celebrating our one-millionth hit! | exercise solution codepad | |
| 427 | 29 Mar 2013 | One Million Hits: Celebrating our | one-millionth hit! | exercise solution codepad |
| 476 | 24 Sep 2013 | Finding Digit Strings In Powers Of Two: A simple exercise from | one of the competitive programming sites | exercise solution codepad |
| 184 | 12 Nov 2010 | Rowland’s Prime-Generating Function: A sequence of | ones and primes | exercise solution codepad |
| 348 | 15 Jun 2012 | Counting | Ones: Count the number of 1-digits in the numbers less than n | exercise solution codepad |
| 317 | 24 Feb 2012 | Remove Characters From A String: Remove from | one string any character in a second string | exercise solution codepad |
| 187 | 23 Nov 2010 | String Subsets: Determine if | one string is a subset of another | exercise solution codepad |
| 129 | 20 Apr 2010 | 145 Puzzle: Build and evaluate expressions using the digits | one through nine and the simple arithmetic operators | exercise solution codepad |
| 152 | 23 Jul 2010 | Happy Numbers: Iterating the sum of the squares of the digits terminates with | one | exercise solution codepad |
| 454 | 02 Jul 2013 | Decoding Text-Speak: Expnd txt wth | only intl vwls and n dbld ltrs | exercise solution codepad |
| 436 | 30 Apr 2013 | First Unrepeated Character In A String: Find the first character that appears | only once in a string | exercise solution codepad |
| 437 | 03 May 2013 | Pairing Students: Create sets of students, each paired to the other | only once | exercise solution codepad |
| 448 | 11 Jun 2013 | Longest Substring Of Two Unique Characters: Longest run of consecutive characters in a string that contains | only two unique characters | exercise solution codepad |
| 134 | 07 May 2010 | Integer Logarithms: An improved algorithm is O(log n) instead of | O(n) | exercise solution codepad |
| 368 | 24 Aug 2012 | Hash Tables With | Open Addressing: An alternative to hash tables with chaining for collision resolution | exercise solution codepad |
| 360 | 27 Jul 2012 | Min Stack: Provide push and pop | operations and find the minimum element in linear time | exercise solution codepad |
| 151 | 20 Jul 2010 | Solving Systems Of Linear Equations: Matrix | operations LU-decomposition and LUP-decomposition | exercise solution codepad |
| 143 | 22 Jun 2010 | Matrix | Operations: Matrix addition, scalar multiplication, multiplication and transposition | exercise solution codepad |
| 77 | 16 Oct 2009 | Growable Arrays: Arrays that grow and shrink at run-time, with O(log n) complexity per | operation | exercise solution codepad |
| 129 | 20 Apr 2010 | 145 Puzzle: Build and evaluate expressions using the digits one through nine and the simple arithmetic | operators | exercise solution codepad |
| 141 | 15 Jun 2010 | Natural Join: The fundamental relational database | operator | exercise solution codepad |
| 7 | 20 Feb 2009 | Multiple Dwellings: A simple logic puzzle, solved with the amb non-deterministic |
operator | exercise solution codepad |
| 440 | 14 May 2013 | Optimal Alphabetical Order: Redefine the alphabet to improve alphabetical ordering | exercise solution codepad | |
| 127 | 13 Apr 2010 | Traveling Salesman: Minimum Spanning Tree: Heuristic guarantees solution within factor of two of | optimal tour | exercise solution codepad |
| 116 | 05 Mar 2010 | Binary Search Tree: Classic data structure, providing insert, delete and lookup for | ordered datatypes | exercise solution codepad |
| 462 | 02 Aug 2013 | Ordered Hash Tables: Knuth’s improvement to simple hash tables | exercise solution codepad | |
| 347 | 12 Jun 2012 | Ordered Maps: A key/value dictionary that supports an ordering relationship | exercise solution codepad | |
| 347 | 12 Jun 2012 | Ordered Maps: A key/value dictionary that supports an | ordering relationship | exercise solution codepad |
| 440 | 14 May 2013 | Optimal Alphabetical Order: Redefine the alphabet to improve alphabetical | ordering | exercise solution codepad |
| 440 | 14 May 2013 | Optimal Alphabetical | Order: Redefine the alphabet to improve alphabetical ordering | exercise solution codepad |
| 186 | 19 Nov 2010 | Topological Sort: | Order the edges of a graph by their precedence relationship | exercise solution codepad |
| 263 | 16 Aug 2011 | Insert Into A Cyclic Sorted List: Insert a new element into a cyclic list, in | order | exercise solution codepad |
| 313 | 10 Feb 2012 | Search In An Ascending Matrix: Find a number in a matrix where both rows and columns are sorted in ascending | order | exercise solution codepad |
| 56 | 04 Aug 2009 | Lenstra’s Algorithm: Hendrik Lenstra’s | original algorithm for elliptic curve factorization | exercise solution codepad |
| 291 | 25 Nov 2011 | AVL Trees: Basic implementation of the | original balanced-tree algorithm | exercise solution codepad |
| 185 | 16 Nov 2010 | RSA Cryptography: The | original public-key cryptographic system, still in wide use | exercise solution codepad |
| 272 | 16 Sep 2011 | Pollard’s P−1 Factorization Algoritihm, Revisited: An improved second stage that is much faster than the | original | exercise solution codepad |
| 435 | 26 Apr 2013 | Correct Horse Battery Staple, Improved: Fix a horrible bug in the | original version | exercise solution codepad |
| 394 | 27 Nov 2012 | Amazon Interview Question: Find the hundred points of a million closest to the | origin | exercise solution codepad |
| 252 | 08 Jul 2011 | Vedic Divisibility: Use a method of testing divisibility using the method of | osculators developed in India | exercise solution codepad |
| 164 | 03 Sep 2010 | Data Encryption Standard: Part 2: ECB, CBC, CFB and OFB block modes for DES and | other block ciphers | exercise solution codepad |
| 437 | 03 May 2013 | Pairing Students: Create sets of students, each paired to the | other only once | exercise solution codepad |
| 254 | 15 Jul 2011 | JSON: Writing Output: The | other side of JSAON | exercise solution codepad |
| 310 | 31 Jan 2012 | String Rotation: Determine if two strings are rotations of each | other | exercise solution codepad |
| 349 | 19 Jun 2012 | Digits Of E: Two algorithms that compute the digits of e, one bounded, the | other unbounded | exercise solution codepad |
| 295 | 09 Dec 2011 | McNugget Numbers: A simple problem, worked | out on a napkin | exercise solution codepad |
| 245 | 14 Jun 2011 | Big Numbers: Input And | Output: A library for big integers: input and output with radix conversion | exercise solution codepad |
| 341 | 18 May 2012 | Formatted Numeric | Output: A minimal version of C’s printf function |
exercise solution codepad |
| 254 | 15 Jul 2011 | JSON: Writing | Output: The other side of JSAON | exercise solution codepad |
| 245 | 14 Jun 2011 | Big Numbers: Input And Output: A library for big integers: input and | output with radix conversion | exercise solution codepad |
| 44 | 23 Jun 2009 | The Mod | Out System: Expand a series of ranges | exercise solution codepad |
| 371 | 04 Sep 2012 | Fountain Codes: Transmit files | over a lossy channel | exercise solution codepad |
| 342 | 22 May 2012 | Hamming Codes: Send messages | over a noisy channel without error | exercise solution codepad |
| 444 | 28 May 2013 | Modular Multiplication Without Overflow: Perform modular multiplication without | overflowing an integer datatype | exercise solution codepad |
| 444 | 28 May 2013 | Modular Multiplication Without | Overflow: Perform modular multiplication without overflowing an integer datatype | exercise solution codepad |
| 419 | 01 Mar 2013 | Baillie-Wagstaff Pseudoprimality Tester: Primality test, an improvement | over the Miller-Rabin test | exercise solution codepad |
| 172 | 01 Oct 2010 | Oban Numbers: Numbers that omit the letter | “o” when spelled, and a function to convert numbers to words | exercise solution codepad |
| 42 | 16 Jun 2009 | Who | Owns The Zebra?: A logic puzzle, solved by embedding a Prolog-like logic system in Scheme | exercise solution codepad |
| 259 | 02 Aug 2011 | The Nth Prime: The n prime, counting from | p1 = 2 | exercise solution codepad |
| 138 | 04 Jun 2010 | Williams’ P+1 Factorization Algorithm: A factorization algorithm, similar to Pollard’s | p−1 algorithm | exercise solution codepad |
| 120 | 19 Mar 2010 | Extending Pollard’s | P−1 Factorization Algorithm: Add a second stage to allow larger factorizations | exercise solution codepad |
| 52 | 21 Jul 2009 | Pollard’s | P−1 Factorization Algorithm: A simple factorization algorithm by John Pollard | exercise solution codepad |
| 272 | 16 Sep 2011 | Pollard’s | P−1 Factorization Algoritihm, Revisited: An improved second stage that is much faster than the original | exercise solution codepad |
| 132 | 30 Apr 2010 | Integer Factorization: Combine trial division, Pollard’s rho and | p−1 methods, and elliptic curves into a single factorization program | exercise solution codepad |
| 437 | 03 May 2013 | Pairing Students: Create sets of students, each | paired to the other only once | exercise solution codepad |
| 59 | 14 Aug 2009 | Pairing Heaps: A standard algorithm for maintaining priority queues | exercise solution codepad | |
| 437 | 03 May 2013 | Pairing Students: Create sets of students, each paired to the other only once | exercise solution codepad | |
| 332 | 17 Apr 2012 | Twin Primes: A variant of the Sieve of Eratosthenes to find | pairs of primes that differ by two | exercise solution codepad |
| 480 | 08 Oct 2013 | Functional-Style Linked Lists: A library of functions on functional-style lists made from immutable | pairs | exercise solution codepad |
| 481 | 11 Oct 2013 | Imperative-Style Linked Lists: A library of functions on imperative-style lists made from mutable | pairs | exercise solution codepad |
| 35 | 22 May 2009 | The Next | Palindrome: Find the next palindromic number greater than the input number | exercise solution codepad |
| 176 | 15 Oct 2010 | Find The Longest | Palindrome In A String: A beautiful linear-time algorithm due to Johan Jeuring | exercise solution codepad |
| 35 | 22 May 2009 | The Next Palindrome: Find the next | palindromic number greater than the input number | exercise solution codepad |
| 181 | 02 Nov 2010 | Emirps: Prime numbers that are prime when their digits are reversed, but not | palindromic | exercise solution codepad |
| 79 | 23 Oct 2009 | Mr. S. and Mr. | P.: A logic puzzle popularized by John McCarthy | exercise solution codepad |
| 22 | 07 Apr 2009 | Flipping | Pancakes: A sorting method analyzed by Bill Gates | exercise solution codepad |
| 386 | 30 Oct 2012 | Pandigital Numbers: Find sums that include all ten digits | exercise solution codepad | |
| 280 | 18 Oct 2011 | The Wall: Ray | Panko’s spreadsheet exercise | exercise solution codepad |
| 381 | 12 Oct 2012 | Birthday Paradox: Use simulation to demonstrate the birthday | paradox | exercise solution codepad |
| 381 | 12 Oct 2012 | Birthday | Paradox: Use simulation to demonstrate the birthday paradox | exercise solution codepad |
| 74 | 06 Oct 2009 | MapReduce: Google’s famous system for | parallelizing computations expressed as a programming idiom | exercise solution codepad |
| 130 | 23 Apr 2010 | Modern Elliptic Curve Factorization, Part 1: Elliptic arithmetic using Montgomery’s | parameterization | exercise solution codepad |
| 131 | 27 Apr 2010 | Modern Elliptic Curve Factorization, Part 2: Elliptic arithmetic using Montgomery’s | parameterization | exercise solution codepad |
| 335 | 27 Apr 2012 | Trabb | Pardo Knuth Algorithm: Trivial algorithm, used to explore an unfamiliar language | exercise solution codepad |
| 128 | 16 Apr 2010 | Expression Evaluation: Parse and evaluate an arithmetic expression with plus, minus, times, divide and | parentheses | exercise solution codepad |
| 180 | 29 Oct 2010 | Fibonacci Primes: Find primes among the fibonacci numbers; includes the | Park-Miller random number generator and Miller-Rabin primality checker | exercise solution codepad |
| 96 | 22 Dec 2009 | Permuted Index: David | Parnas’ classic deconstruction of the keyword-in-context index | exercise solution codepad |
| 11 | 27 Feb 2009 | Mark V. Shaney: Generate | parodies of a text using a Markov chain | exercise solution codepad |
| 128 | 16 Apr 2010 | Expression Evaluation: | Parse and evaluate an arithmetic expression with plus, minus, times, divide and parentheses | exercise solution codepad |
| 253 | 12 Jul 2011 | JSON: Parsing Input: | Parse JSON input | exercise solution codepad |
| 68 | 15 Sep 2009 | Regular Expressions, Part 1: A | parser for regular expressions | exercise solution codepad |
| 358 | 20 Jul 2012 | Infix Expression Evaluation: Write a | parser to evaluate arithmetic expressions | exercise solution codepad |
| 142 | 18 Jun 0 | Parsing Command-Line Arguments: An old-style getopt function | exercise solution codepad | |
| 253 | 12 Jul 2011 | JSON: | Parsing Input: Parse JSON input | exercise solution codepad |
| 68 | 15 Sep 2009 | Regular Expressions, | Part 1: A parser for regular expressions | exercise solution codepad |
| 163 | 31 Aug 2010 | Data Encryption Standard: | Part 1: Basic block enciphering and deciphering using DES | exercise solution codepad |
| 441 | 17 May 2013 | Coin Change, | Part 1: Classic problem to count the ways to make change | exercise solution codepad |
| 130 | 23 Apr 2010 | Modern Elliptic Curve Factorization, | Part 1: Elliptic arithmetic using Montgomery’s parameterization | exercise solution codepad |
| 350 | 22 Jun 2012 | Billboard Challenge, | Part 1: First part of a Google recruiting challenge | exercise solution codepad |
| 177 | 19 Oct 2010 | Text File Databases: | Part 1: Functions to read records with fields in various formats | exercise solution codepad |
| 167 | 14 Sep 2010 | The Factorization Of F7: | Part 1: Our fortieth anniversary celebration of Morrison and Brillhart’s method of integer factorization by continued fractions | exercise solution codepad |
| 86 | 17 Nov 2009 | Master Mind, | Part 1: Referee a two-player game of deductive logic | exercise solution codepad |
| 378 | 02 Oct 2012 | AKS Primality Prover, | Part 1: Two functions used by the AKS primality prover | exercise solution codepad |
| 361 | 31 Jul 2012 | SEND + MORE = MONEY, | Part 1: Two slow solutions to a classic problem of recreational mathematics | exercise solution codepad |
| 442 | 21 May 2013 | Coin Change, | Part 2: A variant on the classic coin change problem | exercise solution codepad |
| 164 | 03 Sep 2010 | Data Encryption Standard: | Part 2: ECB, CBC, CFB and OFB block modes for DES and other block ciphers | exercise solution codepad |
| 131 | 27 Apr 2010 | Modern Elliptic Curve Factorization, | Part 2: Elliptic arithmetic using Montgomery’s parameterization | exercise solution codepad |
| 168 | 17 Sep 2010 | The Factorization Of F7: | Part 2: Our fortieth anniversary celebration of Morrison and Brillhart’s method of integer factorization by continued fractions | exercise solution codepad |
| 351 | 26 Jun 2012 | Billboard Challenge, | Part 2: Second part of a Google recruiting challenge | exercise solution codepad |
| 87 | 20 Nov 2009 | Master Mind, | Part 2: Solve a Master Mind puzzle in five probes or less | exercise solution codepad |
| 69 | 18 Sep 2009 | Regular Expressions, | Part 2: The corresponding matcher | exercise solution codepad |
| 379 | 05 Oct 2012 | AKS Primality Prover, | Part 2: The primality prover of Agrawal, Kayal and Saxena | exercise solution codepad |
| 362 | 03 Aug 2012 | SEND + MORE = MONEY, | Part 2: Two hill-climbing solutions to a classic problem of recreational mathematics | exercise solution codepad |
| 178 | 22 Oct 2010 | Text File Databases: | Part 2: Various functions to process records with fields | exercise solution codepad |
| 443 | 24 May 2013 | Coin Change, | Part 3: Another variant on the classic coin change problem | exercise solution codepad |
| 70 | 22 Sep 2009 | Regular Expressions, | Part 3: A regular expression test suite | exercise solution codepad |
| 165 | 07 Sep 2010 | Data Encryption Standard: | Part 3: Triple DES and cryptographic hashing | exercise solution codepad |
| 166 | 10 Sep 2010 | Data Encryption Standard: | Part 4: DES driver program | exercise solution codepad |
| 377 | 28 Sep 2012 | Pocklington’s N−1 Primality Prover: Prove n prime if n−1 can be | partially factored | exercise solution codepad |
| 288 | 15 Nov 2011 | Phil Harvey’s Puzle: | partition {1,…,16} into two sets of equal size so each subset has the same sum, sum of squares and sum of cubes | exercise solution codepad |
| 337 | 04 May 2012 | Even-Odd Partition: | Partition an array so all even integers precede all odd integers | exercise solution codepad |
| 228 | 15 Apr 2011 | Partition Numbers: Calculate the partition numbers, using memoization via growing arrays | exercise solution codepad | |
| 228 | 15 Apr 2011 | Partition Numbers: Calculate the | partition numbers, using memoization via growing arrays | exercise solution codepad |
| 337 | 04 May 2012 | Even-Odd | Partition: Partition an array so all even integers precede all odd integers | exercise solution codepad |
| 383 | 19 Oct 2012 | Prime | Partitions: Compute the number of ways to sum primes to a target | exercise solution codepad |
| 339 | 11 May 2012 | partitions: Sets of integers that sum to a given integer | exercise solution codepad | |
| 124 | 02 Apr 2010 | Disjoint Sets: A data structure for storing sets of items in disjoint | partitions | exercise solution codepad |
| 350 | 22 Jun 2012 | Billboard Challenge, Part 1: First | part of a Google recruiting challenge | exercise solution codepad |
| 351 | 26 Jun 2012 | Billboard Challenge, Part 2: Second | part of a Google recruiting challenge | exercise solution codepad |
| 91 | 04 Dec 2009 | Autokey: A cipher in which the input text forms | part of the key | exercise solution codepad |
| 294 | 06 Dec 2011 | Pascal’s Triangle: Display the binomial coefficients | exercise solution codepad | |
| 123 | 30 Mar 2010 | Passover: Calculate the dates of the Jewish holidays Rosh Hashanah and Passover | exercise solution codepad | |
| 123 | 30 Mar 2010 | Passover: Calculate the dates of the Jewish holidays Rosh Hashanah and | Passover | exercise solution codepad |
| 434 | 23 Apr 2013 | Correct Horse Battery Staple: Randall Munro’s | passphrase generator | exercise solution codepad |
| 119 | 16 Mar 2010 | Traveling Salesman: Nearest Neighbor: A greedy heuristic that builds a | path by always choosing the nearest unvisited point | exercise solution codepad |
| 465 | 13 Aug 2013 | Unix | Paths: Convert relative Unix path to absolute, by Robert Fisher | exercise solution codepad |
| 307 | 20 Jan 2012 | Knights On A Keypad: Count the number of knight | paths on a keypad | exercise solution codepad |
| 465 | 13 Aug 2013 | Unix Paths: Convert relative Unix | path to absolute, by Robert Fisher | exercise solution codepad |
| 199 | 04 Jan 2011 | Dijkstra’s Algorithm: Find the shortest | path to all vertices of a graph from a single source, guest written by Graham Enos | exercise solution codepad |
| 61 | 21 Aug 2009 | String Search: Brute Force: Search for a | pattern in a text by comparing the pattern to the text at all possible positions | exercise solution codepad |
| 63 | 28 Aug 2009 | String Search: Boyer-Moore: Search for a | pattern in a text using a fast and simple algorithm | exercise solution codepad |
| 62 | 25 Aug 2009 | String Search: Knuth-Morris-Pratt: Search for a | pattern in a text using an O(n) algorithm | exercise solution codepad |
| 58 | 11 Aug 2009 | Uncle Bob’s Bowling Game Kata: Use | pattern-matching on lists to solve a classic object-oriented programming exercise | exercise solution codepad |
| 61 | 21 Aug 2009 | String Search: Brute Force: Search for a pattern in a text by comparing the | pattern to the text at all possible positions | exercise solution codepad |
| 111 | 16 Feb 2010 | Soundex: An algorithm to assign | people’s last names to equivalence classes based on similar spelling | exercise solution codepad |
| 322 | 13 Mar 2012 | Perfect Power Predicate: Given a positive integer n, determine if there exists a b and e for which be = n | exercise solution codepad | |
| 325 | 23 Mar 2012 | Base-26 Arithmetic: | Perform arithmetic on integers represented as strings of letters | exercise solution codepad |
| 37 | 29 May 2009 | Double Transposition Cipher: A simple and effective cipher, easy to | perform by hand | exercise solution codepad |
| 48 | 07 Jul 2009 | Modular Arithmetic: A function library for | performing modular addition, subtraction, multiplication, division, and square root | exercise solution codepad |
| 444 | 28 May 2013 | Modular Multiplication Without Overflow: | Perform modular multiplication without overflowing an integer datatype | exercise solution codepad |
| 270 | 09 Sep 2011 | Mersenne Twister: Random number generator with very long | period, useful for simulations | exercise solution codepad |
| 477 | 27 Sep 2013 | Double-Ended Priority Queues: Priority queues that | permit access at both ends | exercise solution codepad |
| 318 | 28 Feb 2012 | Next Greater | Permutation Of Digits: Find the smallest number larger than the input number using the same digits as the input number | exercise solution codepad |
| 117 | 09 Mar 2010 | Lexicographic | Permutations: Continually generate the next permutation using an algorithm by Dijkstra | exercise solution codepad |
| 78 | 20 Oct 2009 | Shuffle: Create random | permutations of an array or linked list | exercise solution codepad |
| 118 | 12 Mar 2010 | Traveling Salesman: Brute Force: Examine all possible | permutations to find the least-cost tour | exercise solution codepad |
| 117 | 09 Mar 2010 | Lexicographic Permutations: Continually generate the next | permutation using an algorithm by Dijkstra | exercise solution codepad |
| 96 | 22 Dec 2009 | Permuted Index: David Parnas’ classic deconstruction of the keyword-in-context index | exercise solution codepad | |
| 148 | 09 Jul 2010 | Contents: | Permuted Table Of Contents: Blog management | exercise solution codepad |
| 470 | 30 Aug 2013 | BMI Calculator: Calculate a | person’s body mass index | exercise solution codepad |
| 485 | 25 Oct 2013 | Pessimal Algorithms And Simplexity Analysis: The slowsort algorithm using the multiply and surrender algorithms | exercise solution codepad | |
| 400 | 18 Dec 2012 | Petals Around The Rose: A game to celebrate our 400th exercise | exercise solution codepad | |
| 97 | 29 Dec 2009 | A Statisticle Speling Korrecter: | Peter Norvig’s version of the Google spelling suggester | exercise solution codepad |
| 104 | 22 Jan 2010 | Phases Of The Moon: Calculate the number of days since the last new moon | exercise solution codepad | |
| 288 | 15 Nov 2011 | Phil Harvey’s Puzle: partition {1,…,16} into two sets of equal size so each subset has the same sum, sum of squares and sum of cubes | exercise solution codepad | |
| 46 | 30 Jun 2009 | Steve Yegge’s | Phone-Screen Coding Exercises: A simple set of programming exercises based on a blog entry by Steve Yegge | exercise solution codepad |
| 309 | 27 Jan 2012 | Anagram | Phrases: “Gin grammar prop six” is an anagram for “Programming Praxis” | exercise solution codepad |
| 449 | 14 Jun 2013 | The Digits of | Pi, Again: Chudnovsky’s algorithm for the digits of pi | exercise solution codepad |
| 258 | 29 Jul 2011 | Approximating | Pi: Approximating pi with the logarithmic integral and Riemann’s R function | exercise solution codepad |
| 8 | 20 Feb 2009 | The Digits of | Pi: A spigot algorithm to calculate the digits of pi | exercise solution codepad |
| 75 | 09 Oct 2009 | Calculating Pi: Calculate the value of | π by monte-carlo methods and by an Archimedean method | exercise solution codepad |
| 75 | 09 Oct 2009 | Calculating | Pi: Calculate the value of π by monte-carlo methods and by an Archimedean method | exercise solution codepad |
| 262 | 12 Aug 2011 | Word Breaks: Insert spaces between words: applepie => apple | pie | exercise solution codepad |
| 38 | 02 Jun 2009 | Pig Latin: A simple exercise to solve a children’s game | exercise solution codepad | |
| 67 | 11 Sep 2009 | Beautiful Code: A simple regular-expression matcher by Rob | Pike | exercise solution codepad |
| 14 | 10 Mar 2009 | Word Frequencies: Our interpretation of a problem solved by a classic unix | pipeline | exercise solution codepad |
| 449 | 14 Jun 2013 | The Digits of Pi, Again: Chudnovsky’s algorithm for the digits of | pi | exercise solution codepad |
| 8 | 20 Feb 2009 | The Digits of Pi: A spigot algorithm to calculate the digits of | pi | exercise solution codepad |
| 423 | 15 Mar 2013 | Buffon’s Needle: Compute the value of | π with a simulation | exercise solution codepad |
| 258 | 29 Jul 2011 | Approximating Pi: Approximating | pi with the logarithmic integral and Riemann’s R function | exercise solution codepad |
| 406 | 08 Jan 2013 | Floating Point Rounding: Round a floating point number to a given decimal | place | exercise solution codepad |
| 103 | 19 Jan 2010 | Flight | Planning: Computing the navigation triangle, by Jos Koot | exercise solution codepad |
| 283 | 28 Oct 2011 | Crypt: Simple encryption tool from Kernighan and | Plauger | exercise solution codepad |
| 47 | 03 Jul 2009 | The | Playfair Cipher: A classic military field cipher | exercise solution codepad |
| 203 | 18 Jan 2011 | Solitaire Cipher: Bruce Schneier’s strong cryptography based on a deck of | playing cards | exercise solution codepad |
| 128 | 16 Apr 2010 | Expression Evaluation: Parse and evaluate an arithmetic expression with | plus, minus, times, divide and parentheses | exercise solution codepad |
| 304 | 10 Jan 2012 | Thirteen Anagram: 12+1=11+2 and “twelve | plus one equals eleven plus two” are both anagrams | exercise solution codepad |
| 304 | 10 Jan 2012 | Thirteen Anagram: 12+1=11+2 and “twelve plus one equals eleven | plus two” are both anagrams | exercise solution codepad |
| 377 | 28 Sep 2012 | Pocklington’s N−1 Primality Prover: Prove n prime if n−1 can be partially factored | exercise solution codepad | |
| 334 | 24 Apr 2012 | Rhyming Dictionary: Find rhyming words for | poets | exercise solution codepad |
| 406 | 08 Jan 2013 | Floating Point Rounding: Round a floating | point number to a given decimal place | exercise solution codepad |
| 406 | 08 Jan 2013 | Floating | Point Rounding: Round a floating point number to a given decimal place | exercise solution codepad |
| 466 | 16 Aug 2013 | Monkey Grid Puzzle: How many | points can the monkey access? | exercise solution codepad |
| 405 | 02 Jan 2013 | Four | Points Determine A Square: Determine if four given points form a square | exercise solution codepad |
| 405 | 02 Jan 2013 | Four Points Determine A Square: Determine if four given | points form a square | exercise solution codepad |
| 408 | 18 Jan 2013 | Triangle Trilemma: Determine if three | points form a triangle, and classify it | exercise solution codepad |
| 394 | 27 Nov 2012 | Amazon Interview Question: Find the hundred | points of a million closest to the origin | exercise solution codepad |
| 119 | 16 Mar 2010 | Traveling Salesman: Nearest Neighbor: A greedy heuristic that builds a path by always choosing the nearest unvisited | point | exercise solution codepad |
| 121 | 23 Mar 2010 | Texas Hold ‘Em: Find the best | poker hand | exercise solution codepad |
| 194 | 17 Dec 2010 | Polite Numbers: Write numbers as the sum of two or more consecutive integers | exercise solution codepad | |
| 204 | 21 Jan 0 | Pollard Rho, Revisited: Richard Brent’s variant of John Pollard’s rho algorithm for integer factorization | exercise solution codepad | |
| 138 | 04 Jun 2010 | Williams’ P+1 Factorization Algorithm: A factorization algorithm, similar to | Pollard’s p−1 algorithm | exercise solution codepad |
| 120 | 19 Mar 2010 | Extending | Pollard’s P−1 Factorization Algorithm: Add a second stage to allow larger factorizations | exercise solution codepad |
| 52 | 21 Jul 2009 | Pollard’s P−1 Factorization Algorithm: A simple factorization algorithm by John Pollard | exercise solution codepad | |
| 272 | 16 Sep 2011 | Pollard’s P−1 Factorization Algoritihm, Revisited: An improved second stage that is much faster than the original | exercise solution codepad | |
| 204 | 21 Jan 0 | Pollard Rho, Revisited: Richard Brent’s variant of John | Pollard’s rho algorithm for integer factorization | exercise solution codepad |
| 43 | 19 Jun 2009 | Monte Carlo Factorization: Integer factorization via | Pollard’s rho algorithm | exercise solution codepad |
| 132 | 30 Apr 2010 | Integer Factorization: Combine trial division, | Pollard’s rho and p−1 methods, and elliptic curves into a single factorization program | exercise solution codepad |
| 52 | 21 Jul 2009 | Pollard’s P−1 Factorization Algorithm: A simple factorization algorithm by John | Pollard | exercise solution codepad |
| 106 | 29 Jan 2010 | Straddling Checkerboard: An alternative to the | Polybius square for ciphers that must convert letters to digits | exercise solution codepad |
| 451 | 21 Jun 2013 | Multiple | Polynomial Quadratic Sieve: A greatly improved version of the basic quadratic sieve | exercise solution codepad |
| 360 | 27 Jul 2012 | Min Stack: Provide push and | pop operations and find the minimum element in linear time | exercise solution codepad |
| 285 | 04 Nov 2011 | Craps: Simulate a | popular game of gambling with dice | exercise solution codepad |
| 267 | 30 Aug 2011 | Hamming Numbers: List the numbers with no factors greater than 5, a classic problem | popularized by Dijkstra | exercise solution codepad |
| 79 | 23 Oct 2009 | Mr. S. and Mr. P.: A logic puzzle | popularized by John McCarthy | exercise solution codepad |
| 260 | 05 Aug 2011 | Ninety-Nine Bottles Of Beer: The | popular song | exercise solution codepad |
| 36 | 26 May 2009 | Word Search Solver: A computerized implementation of a | popular time-waster | exercise solution codepad |
| 206 | 28 Jan 2011 | Population Count: Count the number of set bits (1-bits) in the binary representation of an integer | exercise solution codepad | |
| 90 | 01 Dec 2009 | Wolves And Rabbits: Analyze | population dynamics using the Lotka-Volterra equations | exercise solution codepad |
| 135 | 25 May 2010 | GB_FLIP: Donald Knuth’s | portable, high-quality random-number generator from the Stanford Graphbase | exercise solution codepad |
| 66 | 08 Sep 2009 | Porter Stemming: Martin | Porter’s algorithm for removing suffices from word stems | exercise solution codepad |
| 66 | 08 Sep 2009 | Porter Stemming: Martin Porter’s algorithm for removing suffices from word stems | exercise solution codepad | |
| 61 | 21 Aug 2009 | String Search: Brute Force: Search for a pattern in a text by comparing the pattern to the text at all possible | positions | exercise solution codepad |
| 322 | 13 Mar 2012 | Perfect Power Predicate: Given a | positive integer n, determine if there exists a b and e for which be = n | exercise solution codepad |
| 340 | 15 May 2012 | Streaming Knapsack: Find first | possible combination from a stream that sums to a given integer | exercise solution codepad |
| 118 | 12 Mar 2010 | Traveling Salesman: Brute Force: Examine all | possible permutations to find the least-cost tour | exercise solution codepad |
| 61 | 21 Aug 2009 | String Search: Brute Force: Search for a pattern in a text by comparing the pattern to the text at all | possible positions | exercise solution codepad |
| 483 | 18 Oct 2013 | Binary Tree Traversal: Traverse a binary tree in pre-order and | post-order | exercise solution codepad |
| 299 | 23 Dec 2011 | Koch’s Snowflake: Draw a fractal snowflake using | PostScript | exercise solution codepad |
| 302 | 03 Jan 2012 | Turtle Graphics: A minimal library of turtle graphics, as in the Logo language, implemented in | PostScript | exercise solution codepad |
| 424 | 19 Mar 2013 | Quadratic Sieve: Basic version of a | powerful factoring algorithm | exercise solution codepad |
| 156 | 06 Aug 2010 | Two | Powering Predicates: Determine if a number is a square or a prime power | exercise solution codepad |
| 249 | 28 Jun 2011 | Big Numbers: Functions: A library for big integers: gcd, | powering, square root, random numbers | exercise solution codepad |
| 322 | 13 Mar 2012 | Perfect | Power Predicate: Given a positive integer n, determine if there exists a b and e for which be = n | exercise solution codepad |
| 476 | 24 Sep 2013 | Finding Digit Strings In | Powers Of Two: A simple exercise from one of the competitive programming sites | exercise solution codepad |
| 210 | 11 Feb 2011 | Sums Of Powers: Use Bernoulli numbers to quickly compute sums of | powers | exercise solution codepad |
| 210 | 11 Feb 2011 | Sums Of | Powers: Use Bernoulli numbers to quickly compute sums of powers | exercise solution codepad |
| 156 | 06 Aug 2010 | Two Powering Predicates: Determine if a number is a square or a prime | power | exercise solution codepad |
| 364 | 10 Aug 2012 | Minimum Scalar Product: A simple exercise from the | practice round of Google Code Jam 2008 | exercise solution codepad |
| 286 | 08 Nov 2011 | Improved Standard Continuation: An improved version of elliptic curve factorization, widely used in current | practice | exercise solution codepad |
| 309 | 27 Jan 2012 | Anagram Phrases: “Gin grammar prop six” is an anagram for “Programming | Praxis” | exercise solution codepad |
| 337 | 04 May 2012 | Even-Odd Partition: Partition an array so all even integers | precede all odd integers | exercise solution codepad |
| 186 | 19 Nov 2010 | Topological Sort: Order the edges of a graph by their | precedence relationship | exercise solution codepad |
| 414 | 12 Feb 2013 | Binary Search Tree: In-Order | Predecessor And Successor: Find the previous and next items in a tree | exercise solution codepad |
| 322 | 13 Mar 2012 | Perfect Power | Predicate: Given a positive integer n, determine if there exists a b and e for which be = n | exercise solution codepad |
| 156 | 06 Aug 2010 | Two Powering | Predicates: Determine if a number is a square or a prime power | exercise solution codepad |
| 483 | 18 Oct 2013 | Binary Tree Traversal: Traverse a binary tree in | pre-order and post-order | exercise solution codepad |
| 414 | 12 Feb 2013 | Binary Search Tree: In-Order Predecessor And Successor: Find the | previous and next items in a tree | exercise solution codepad |
| 403 | 28 Dec 2012 | Three Wise Men: Find the | prices of their gifts | exercise solution codepad |
| 107 | 02 Feb 2010 | Proving | Primality: A deterministic, not probabilistic, method of checking primality | exercise solution codepad |
| 29 | 01 May 2009 | Primality Checking: A probabilistic | primality checker by Gary Miller and Michael Rabin | exercise solution codepad |
| 180 | 29 Oct 2010 | Fibonacci Primes: Find primes among the fibonacci numbers; includes the Park-Miller random number generator and Miller-Rabin | primality checker | exercise solution codepad |
| 29 | 01 May 2009 | Primality Checking: A probabilistic primality checker by Gary Miller and Michael Rabin | exercise solution codepad | |
| 105 | 26 Jan 2010 | Primality Checking, Revisited: The Baillie-Wagstaff algorithm for primality checking | exercise solution codepad | |
| 105 | 26 Jan 2010 | Primality Checking, Revisited: The Baillie-Wagstaff algorithm for | primality checking | exercise solution codepad |
| 379 | 05 Oct 2012 | AKS Primality Prover, Part 2: The | primality prover of Agrawal, Kayal and Saxena | exercise solution codepad |
| 378 | 02 Oct 2012 | AKS | Primality Prover, Part 1: Two functions used by the AKS primality prover | exercise solution codepad |
| 379 | 05 Oct 2012 | AKS | Primality Prover, Part 2: The primality prover of Agrawal, Kayal and Saxena | exercise solution codepad |
| 377 | 28 Sep 2012 | Pocklington’s N−1 | Primality Prover: Prove n prime if n−1 can be partially factored | exercise solution codepad |
| 378 | 02 Oct 2012 | AKS Primality Prover, Part 1: Two functions used by the AKS | primality prover | exercise solution codepad |
| 419 | 01 Mar 2013 | Baillie-Wagstaff Pseudoprimality Tester: | Primality test, an improvement over the Miller-Rabin test | exercise solution codepad |
| 390 | 13 Nov 2012 | Frobenius | Primality Test: A pseudoprimality test, stronger than Miller-Rabin | exercise solution codepad |
| 107 | 02 Feb 2010 | Proving Primality: A deterministic, not probabilistic, method of checking | primality | exercise solution codepad |
| 251 | 05 Jul 2011 | Big Numbers: Examples: A library for big integers: display factorials to 50, determine if a number is | prime, and compute its prime factors | exercise solution codepad |
| 259 | 02 Aug 2011 | The Nth Prime: The n | prime, counting from p1 = 2 | exercise solution codepad |
| 200 | 07 Jan 2011 | Counting Primes: The | prime counting function and nth-prime function | exercise solution codepad |
| 257 | 26 Jul 2011 | More Prime-Counting Functions: | Prime counting functions by Meissel and Lehmer, based on Legendre’s sum | exercise solution codepad |
| 257 | 26 Jul 2011 | More | Prime-Counting Functions: Prime counting functions by Meissel and Lehmer, based on Legendre’s sum | exercise solution codepad |
| 122 | 26 Mar 2010 | The Next | Prime: Efficiently find the next prime number larger than a given number | exercise solution codepad |
| 251 | 05 Jul 2011 | Big Numbers: Examples: A library for big integers: display factorials to 50, determine if a number is prime, and compute its | prime factors | exercise solution codepad |
| 184 | 12 Nov 2010 | Rowland’s | Prime-Generating Function: A sequence of ones and primes | exercise solution codepad |
| 373 | 11 Sep 2012 | The Sum Of The First Billion Primes: Write a | prime generator, and use it | exercise solution codepad |
| 377 | 28 Sep 2012 | Pocklington’s N−1 Primality Prover: Prove n | prime if n−1 can be partially factored | exercise solution codepad |
| 122 | 26 Mar 2010 | The Next Prime: Efficiently find the next | prime number larger than a given number | exercise solution codepad |
| 24 | 14 Apr 2009 | Google Treasure Hunt 2008 Puzzle 4: A | prime-number puzzle | exercise solution codepad |
| 469 | 27 Aug 2013 | Two Sieving Problems: Use sieves to answer two | prime-number questions | exercise solution codepad |
| 181 | 02 Nov 2010 | Emirps: | Prime numbers that are prime when their digits are reversed, but not palindromic | exercise solution codepad |
| 110 | 12 Feb 2010 | Sieve of Atkin: A modern alternative to the Sieve of Eratosthenes for computing | prime numbers | exercise solution codepad |
| 278 | 07 Oct 2011 | Sieve of Sundaram: Sieving for | prime numbers using a method from India | exercise solution codepad |
| 413 | 08 Feb 2013 | The Biggest Prime: Print all 17-million digits of the largest known | prime number | exercise solution codepad |
| 383 | 19 Oct 2012 | Prime Partitions: Compute the number of ways to sum primes to a target | exercise solution codepad | |
| 201 | 11 Jan 2011 | Two Integrals: The exponential and logarithmic integral, and an approximation for | prime-pi | exercise solution codepad |
| 156 | 06 Aug 2010 | Two Powering Predicates: Determine if a number is a square or a | prime power | exercise solution codepad |
| 413 | 08 Feb 2013 | The Biggest | Prime: Print all 17-million digits of the largest known prime number | exercise solution codepad |
| 180 | 29 Oct 2010 | Fibonacci Primes: Find | primes among the fibonacci numbers; includes the Park-Miller random number generator and Miller-Rabin primality checker | exercise solution codepad |
| 212 | 18 Feb 2011 | Two Factoring Games: Home | primes and the Euclid-Mullin sequence | exercise solution codepad |
| 428 | 02 Apr 2013 | Quadratic Sieve With Large | Primes: A (slightly) improved version of the basic quadratic sieve | exercise solution codepad |
| 332 | 17 Apr 2012 | Twin | Primes: A variant of the Sieve of Eratosthenes to find pairs of primes that differ by two | exercise solution codepad |
| 401 | 21 Dec 2012 | Building | Primes: Build the largest prime with all right-most subsequences also prime | exercise solution codepad |
| 279 | 14 Oct 2011 | The First N | Primes: Embedding the Sieve of Eratosthenes in a priority queue instead of an array | exercise solution codepad |
| 180 | 29 Oct 2010 | Fibonacci | Primes: Find primes among the fibonacci numbers; includes the Park-Miller random number generator and Miller-Rabin primality checker | exercise solution codepad |
| 256 | 22 Jul 2011 | Counting Primes Using Legendre’s Formula: Recreate Legendre’s two-century old calculation of the number of | primes less than a million | exercise solution codepad |
| 242 | 03 Jun 2011 | Mersenne Primes: The Lucas-Lehmer test for identifying | primes of the form 2n−1 | exercise solution codepad |
| 463 | 06 Aug 2013 | Sophie Germain | Primes: Primes p such that 2p+1 is also prime | exercise solution codepad |
| 463 | 06 Aug 2013 | Sophie Germain Primes: | Primes p such that 2p+1 is also prime | exercise solution codepad |
| 332 | 17 Apr 2012 | Twin Primes: A variant of the Sieve of Eratosthenes to find pairs of | primes that differ by two | exercise solution codepad |
| 242 | 03 Jun 2011 | Mersenne | Primes: The Lucas-Lehmer test for identifying primes of the form 2n−1 | exercise solution codepad |
| 200 | 07 Jan 2011 | Counting | Primes: The prime counting function and nth-prime function | exercise solution codepad |
| 383 | 19 Oct 2012 | Prime Partitions: Compute the number of ways to sum | primes to a target | exercise solution codepad |
| 115 | 02 Mar 2010 | Goldbach’s Conjecture: Every even number greater than two can be written as the sum of two | primes | exercise solution codepad |
| 184 | 12 Nov 2010 | Rowland’s Prime-Generating Function: A sequence of ones and | primes | exercise solution codepad |
| 214 | 25 Feb 2011 | Sieve Of Euler: An alternate, and slow, method of sieving for | primes | exercise solution codepad |
| 256 | 22 Jul 2011 | Counting | Primes Using Legendre’s Formula: Recreate Legendre’s two-century old calculation of the number of primes less than a million | exercise solution codepad |
| 373 | 11 Sep 2012 | The Sum Of The First Billion | Primes: Write a prime generator, and use it | exercise solution codepad |
| 259 | 02 Aug 2011 | The Nth | Prime: The n prime, counting from p1 = 2 | exercise solution codepad |
| 197 | 28 Dec 2010 | Carmichael Numbers: Composite numbers such that an-1 ≡ 1 (mod n) if a is | prime to n | exercise solution codepad |
| 401 | 21 Dec 2012 | Building Primes: Build the largest prime with all right-most subsequences also | prime | exercise solution codepad |
| 463 | 06 Aug 2013 | Sophie Germain Primes: Primes p such that 2p+1 is also | prime | exercise solution codepad |
| 181 | 02 Nov 2010 | Emirps: Prime numbers that are | prime when their digits are reversed, but not palindromic | exercise solution codepad |
| 401 | 21 Dec 2012 | Building Primes: Build the largest | prime with all right-most subsequences also prime | exercise solution codepad |
| 231 | 26 Apr 2011 | Miscellanea: FizzBuzz, | Prime Words, and Split A List | exercise solution codepad |
| 385 | 26 Oct 2012 | Pythatorean Triples: Generate | primitive pythagorean triples by an ancient algorithm | exercise solution codepad |
| 126 | 09 Apr 2010 | Minimum Spanning Tree: | Prim’s Algorithm: Find the minimum-cost tree that includes all the nodes in a graph | exercise solution codepad |
| 413 | 08 Feb 2013 | The Biggest Prime: | Print all 17-million digits of the largest known prime number | exercise solution codepad |
| 225 | 05 Apr 2011 | Fortune: | Print a random aphorism from a file | exercise solution codepad |
| 32 | 12 May 2009 | Loan Amortization: Calculate and | print a simple loan amortization table | exercise solution codepad |
| 98 | 01 Jan 2010 | Cal: | Print a twelve-month calendar | exercise solution codepad |
| 341 | 18 May 2012 | Formatted Numeric Output: A minimal version of C’s | printf function |
exercise solution codepad |
| 136 | 28 May 2010 | Printing Files: A simple program to list files, similar to the unix pr program | exercise solution codepad | |
| 276 | 30 Sep 2011 | Logarithm Tables: | Print old-fashioned tables of logarithms and anti-logarithms | exercise solution codepad |
| 220 | 18 Mar 2011 | Loopy Loops: | Print the numbers from 1 to 1000 without using loops or conditionals | exercise solution codepad |
| 346 | 08 Jun 2012 | Cat: The Unix V7 utility to catenate and | exercise solution codepad | |
| 171 | 28 Sep 2010 | Maxiphobic Heaps: A | priority-queue data structure, similar to leftist heaps, due to Chris Okasaki | exercise solution codepad |
| 30 | 05 May 2009 | Priority Queues: A simple library implementation of the | priority queue data structure | exercise solution codepad |
| 279 | 14 Oct 2011 | The First N Primes: Embedding the Sieve of Eratosthenes in a | priority queue instead of an array | exercise solution codepad |
| 30 | 05 May 2009 | Priority Queues: A simple library implementation of the priority queue data structure | exercise solution codepad | |
| 410 | 25 Jan 2013 | Imperative Heaps: The classing implementation of | priority queues embedded in an array | exercise solution codepad |
| 477 | 27 Sep 2013 | Double-Ended | Priority Queues: Priority queues that permit access at both ends | exercise solution codepad |
| 477 | 27 Sep 2013 | Double-Ended Priority Queues: | Priority queues that permit access at both ends | exercise solution codepad |
| 345 | 05 Jun 2012 | Binomial Heaps: Another algorithm for maintaining | priority queues | exercise solution codepad |
| 409 | 22 Jan 2013 | Splay Heaps: Yet another implementation of | priority queues | exercise solution codepad |
| 59 | 14 Aug 2009 | Pairing Heaps: A standard algorithm for maintaining | priority queues | exercise solution codepad |
| 83 | 06 Nov 2009 | Heap Sort: A guaranteed O(log n) sorting method based on | priority queues | exercise solution codepad |
| 303 | 06 Jan 2012 | Pritchard’s Wheel Sieve: An alternative to the Sieve of Eratosthenes with a faster asymptotic time complexity | exercise solution codepad | |
| 107 | 02 Feb 2010 | Proving Primality: A deterministic, not | probabilistic, method of checking primality | exercise solution codepad |
| 29 | 01 May 2009 | Primality Checking: A | probabilistic primality checker by Gary Miller and Michael Rabin | exercise solution codepad |
| 26 | 21 Apr 2009 | Probabilistic Spell Checking: A | probabilistic spell-checker based on a Bloom filter | exercise solution codepad |
| 26 | 21 Apr 2009 | Probabilistic Spell Checking: A probabilistic spell-checker based on a Bloom filter | exercise solution codepad | |
| 53 | 24 Jul 2009 | Let’s Make A Deal!: Simulate a tricky | probability calculation | exercise solution codepad |
| 3 | 19 Feb 2009 | Bingo: Calculate the | probability of winning at Bingo | exercise solution codepad |
| 87 | 20 Nov 2009 | Master Mind, Part 2: Solve a Master Mind puzzle in five | probes or less | exercise solution codepad |
| 261 | 09 Aug 2011 | Hett’s | Problem 1.28: Sorting a list of lists according to length of sublists | exercise solution codepad |
| 397 | 07 Dec 2012 | Wirth | Problem 15.12: Compute a sequence of numbers defined by Wirth | exercise solution codepad |
| 415 | 15 Feb 2013 | Facebook Hacker Cup 2013, Round 1, | Problem 1: Count the ways to win a card game | exercise solution codepad |
| 273 | 20 Sep 2011 | Project Euler | Problem 3: Thorough explanation of integer factorization by trial division | exercise solution codepad |
| 155 | 03 Aug 2010 | Carl Hewitt’s Same-Fringe | Problem: Do two trees have the same leaves, solved with streams (lazy lists) | exercise solution codepad |
| 72 | 29 Sep 2009 | Green Eyes: A counting | problem from high-school math | exercise solution codepad |
| 323 | 16 Mar 2012 | Sum Of Squares Of Two Largest Of Three Values: A simple | problem from SICP with a variety of solutions | exercise solution codepad |
| 331 | 13 Apr 2012 | McNugget Numbers, Revisited: The classic coin | problem in disguise, how to count the number of ways to make change | exercise solution codepad |
| 361 | 31 Jul 2012 | SEND + MORE = MONEY, Part 1: Two slow solutions to a classic | problem of recreational mathematics | exercise solution codepad |
| 362 | 03 Aug 2012 | SEND + MORE = MONEY, Part 2: Two hill-climbing solutions to a classic | problem of recreational mathematics | exercise solution codepad |
| 293 | 02 Dec 2011 | Knight Rider: Classic | problem of the knight’s tour | exercise solution codepad |
| 398 | 11 Dec 2012 | Stepwise Program Development: A Heuristic Algorithm: A backtracking solution to a | problem of Wirth | exercise solution codepad |
| 267 | 30 Aug 2011 | Hamming Numbers: List the numbers with no factors greater than 5, a classic | problem popularized by Dijkstra | exercise solution codepad |
| 484 | 22 Oct 2013 | David Gries’ Coffee Can | Problem: Simulate the process of extracting beans from a coffee can | exercise solution codepad |
| 14 | 10 Mar 2009 | Word Frequencies: Our interpretation of a | problem solved by a classic unix pipeline | exercise solution codepad |
| 469 | 27 Aug 2013 | Two Sieving | Problems: Use sieves to answer two prime-number questions | exercise solution codepad |
| 441 | 17 May 2013 | Coin Change, Part 1: Classic | problem to count the ways to make change | exercise solution codepad |
| 327 | 30 Mar 2012 | Subset Sum, Meet In The Middle: An improved solution to the classic NP | problem | exercise solution codepad |
| 442 | 21 May 2013 | Coin Change, Part 2: A variant on the classic coin change | problem | exercise solution codepad |
| 443 | 24 May 2013 | Coin Change, Part 3: Another variant on the classic coin change | problem | exercise solution codepad |
| 326 | 27 Mar 2012 | Subset Sum: Solve a classic NP | problem using dynamic programming | exercise solution codepad |
| 295 | 09 Dec 2011 | McNugget Numbers: A simple | problem, worked out on a napkin | exercise solution codepad |
| 484 | 22 Oct 2013 | David Gries’ Coffee Can Problem: Simulate the | process of extracting beans from a coffee can | exercise solution codepad |
| 178 | 22 Oct 2010 | Text File Databases: Part 2: Various functions to | process records with fields | exercise solution codepad |
| 364 | 10 Aug 2012 | Minimum Scalar | Product: A simple exercise from the practice round of Google Code Jam 2008 | exercise solution codepad |
| 472 | 06 Sep 2013 | Cartesian | Product: Cross-product of the items in a variable-length list of variable-length lists | exercise solution codepad |
| 145 | 29 Jun 2010 | World Cup | Prognostication: Simulate the knockout stage using elo ratings | exercise solution codepad |
| 209 | 08 Feb 2011 | The First Computer | Program: Ada Lovelace’s program to compute Bernoulli numbers for Charles Babbage’s Analytical Engine | exercise solution codepad |
| 215 | 01 Mar 2011 | An Early LISP | Program: A program to flatten a list, from the March 1960 LISP I manual | exercise solution codepad |
| 459 | 23 Jul 2013 | Telephone Lookup: A directory-assistance | program by Mike Lesk | exercise solution codepad |
| 398 | 11 Dec 2012 | Stepwise | Program Development: A Heuristic Algorithm: A backtracking solution to a problem of Wirth | exercise solution codepad |
| 230 | 22 Apr 2011 | Xref: | Programmer’s cross-reference utility | exercise solution codepad |
| 284 | 01 Nov 2011 | RIP John McCarthy: Implementation of the “Maxwell’s equations of software” from the LISP 1.5 | Programmer’s Manual | exercise solution codepad |
| 438 | 07 May 2013 | Three List Exercises: Three simple exercises on lists, for beginning | programmers | exercise solution codepad |
| 5 | 19 Feb 2009 | Flavius Josephus: | Programming a cyclical list | exercise solution codepad |
| 40 | 09 Jun 2009 | Longest Common Subsequence: A classic | programming algorithm, with a solution that dates to folklore | exercise solution codepad |
| 183 | 09 Nov 2010 | Subset Sums: Third level of the Greplin Programming Challenge, using dynamic | programming and memoization | exercise solution codepad |
| 183 | 09 Nov 2010 | Subset Sums: Third level of the Greplin | Programming Challenge, using dynamic programming and memoization | exercise solution codepad |
| 190 | 03 Dec 2010 | Maximum Sum Subsequence: A classic | programming exercise due to Jon Bentley | exercise solution codepad |
| 46 | 30 Jun 2009 | Steve Yegge’s Phone-Screen Coding Exercises: A simple set of | programming exercises based on a blog entry by Steve Yegge | exercise solution codepad |
| 58 | 11 Aug 2009 | Uncle Bob’s Bowling Game Kata: Use pattern-matching on lists to solve a classic object-oriented | programming exercise | exercise solution codepad |
| 426 | 26 Mar 2013 | Google Code Jam Qualification Round Africa 2010, Revisited: Four solutions to a Google | programming exercise, with various time complexities | exercise solution codepad |
| 74 | 06 Oct 2009 | MapReduce: Google’s famous system for parallelizing computations expressed as a | programming idiom | exercise solution codepad |
| 309 | 27 Jan 2012 | Anagram Phrases: “Gin grammar prop six” is an anagram for | “Programming Praxis” | exercise solution codepad |
| 453 | 28 Jun 2013 | A | Programming Puzzle: Write a function f so that f(f(n)) = -n for all integers n. | exercise solution codepad |
| 476 | 24 Sep 2013 | Finding Digit Strings In Powers Of Two: A simple exercise from one of the competitive | programming sites | exercise solution codepad |
| 157 | 10 Aug 2010 | Literate | Programming: Structured documentation in the style of Donald Knuth | exercise solution codepad |
| 21 | 03 Apr 2009 | Programming the Turing Machine: A turing-machine program to multiply two numbers | exercise solution codepad | |
| 356 | 13 Jul 2012 | The Evolution Of Flibs: Use genetic | programming to build a finite state machine | exercise solution codepad |
| 326 | 27 Mar 2012 | Subset Sum: Solve a classic NP problem using dynamic | programming | exercise solution codepad |
| 372 | 07 Sep 2012 | The First Two | Programs: Hello World and a fahrenheit / celsius conversion table | exercise solution codepad |
| 9 | 20 Feb 2009 | A Self-Reproducing | Program: The quintessential quine | exercise solution codepad |
| 209 | 08 Feb 2011 | The First Computer Program: Ada Lovelace’s | program to compute Bernoulli numbers for Charles Babbage’s Analytical Engine | exercise solution codepad |
| 215 | 01 Mar 2011 | An Early LISP Program: A | program to flatten a list, from the March 1960 LISP I manual | exercise solution codepad |
| 136 | 28 May 2010 | Printing Files: A simple | program to list files, similar to the unix pr program | exercise solution codepad |
| 21 | 03 Apr 2009 | Programming the Turing Machine: A turing-machine | program to multiply two numbers | exercise solution codepad |
| 132 | 30 Apr 2010 | Integer Factorization: Combine trial division, Pollard’s rho and p−1 methods, and elliptic curves into a single factorization | program | exercise solution codepad |
| 136 | 28 May 2010 | Printing Files: A simple program to list files, similar to the unix pr | program | exercise solution codepad |
| 166 | 10 Sep 2010 | Data Encryption Standard: Part 4: DES driver | program | exercise solution codepad |
| 92 | 08 Dec 2009 | Word Count: An implementation of the unix wc |
program | exercise solution codepad |
| 273 | 20 Sep 2011 | Project Euler Problem 3: Thorough explanation of integer factorization by trial division | exercise solution codepad | |
| 42 | 16 Jun 2009 | Who Owns The Zebra?: A logic puzzle, solved by embedding a | Prolog-like logic system in Scheme | exercise solution codepad |
| 319 | 02 Mar 2012 | Balanced Delimiters: Determine if nested delimiters are | properly balanced | exercise solution codepad |
| 309 | 27 Jan 2012 | Anagram Phrases: “Gin grammar | prop six” is an anagram for “Programming Praxis” | exercise solution codepad |
| 65 | 04 Sep 2009 | Ron’s Cipher #4: Stream cipher by Ron Rivest that underlies the SSL and WEP | protocols | exercise solution codepad |
| 377 | 28 Sep 2012 | Pocklington’s N−1 Primality Prover: | Prove n prime if n−1 can be partially factored | exercise solution codepad |
| 379 | 05 Oct 2012 | AKS Primality Prover, Part 2: The primality | prover of Agrawal, Kayal and Saxena | exercise solution codepad |
| 378 | 02 Oct 2012 | AKS Primality | Prover, Part 1: Two functions used by the AKS primality prover | exercise solution codepad |
| 379 | 05 Oct 2012 | AKS Primality | Prover, Part 2: The primality prover of Agrawal, Kayal and Saxena | exercise solution codepad |
| 377 | 28 Sep 2012 | Pocklington’s N−1 Primality | Prover: Prove n prime if n−1 can be partially factored | exercise solution codepad |
| 378 | 02 Oct 2012 | AKS Primality Prover, Part 1: Two functions used by the AKS primality | prover | exercise solution codepad |
| 360 | 27 Jul 2012 | Min Stack: | Provide push and pop operations and find the minimum element in linear time | exercise solution codepad |
| 376 | 21 Sep 2012 | Autumn Equinox: Calculate the length of the day; | provides a time-handling library | exercise solution codepad |
| 45 | 26 Jun 2009 | Treaps: A randomized dictionary data structure, | provides in-order access to key | exercise solution codepad |
| 369 | 28 Aug 2012 | Random Access Lists: A clever data structure that | provides O(log n) access to items in a sequential list, along with cons, head and tail | exercise solution codepad |
| 116 | 05 Mar 2010 | Binary Search Tree: Classic data structure, | providing insert, delete and lookup for ordered datatypes | exercise solution codepad |
| 107 | 02 Feb 2010 | Proving Primality: A deterministic, not probabilistic, method of checking primality | exercise solution codepad | |
| 136 | 28 May 2010 | Printing Files: A simple program to list files, similar to the unix | pr program | exercise solution codepad |
| 419 | 01 Mar 2013 | Baillie-Wagstaff | Pseudoprimality Tester: Primality test, an improvement over the Miller-Rabin test | exercise solution codepad |
| 390 | 13 Nov 2012 | Frobenius Primality Test: A | pseudoprimality test, stronger than Miller-Rabin | exercise solution codepad |
| 60 | 18 Aug 2009 | Blum Blum Shub: Stream cipher based on a cryptographically secure | pseudo-random number generator | exercise solution codepad |
| 463 | 06 Aug 2013 | Sophie Germain Primes: Primes | p such that 2p+1 is also prime | exercise solution codepad |
| 185 | 16 Nov 2010 | RSA Cryptography: The original | public-key cryptographic system, still in wide use | exercise solution codepad |
| 290 | 22 Nov 2011 | Rabin’s Cryptosystem: | Public-key cryptosystem, similar to RSA | exercise solution codepad |
| 387 | 02 Nov 2012 | Gasoline Mileage Log: Read a file of gasoline | purchases to compute miles per gallon | exercise solution codepad |
| 73 | 02 Oct 2009 | Red-Black Trees: A | purely functional dictionary data structure based on approximately-balanced trees | exercise solution codepad |
| 360 | 27 Jul 2012 | Min Stack: Provide | push and pop operations and find the minimum element in linear time | exercise solution codepad |
| 288 | 15 Nov 2011 | Phil Harvey’s | Puzle: partition {1,…,16} into two sets of equal size so each subset has the same sum, sum of squares and sum of cubes | exercise solution codepad |
| 24 | 14 Apr 2009 | Google Treasure Hunt 2008 | Puzzle 4: A prime-number puzzle | exercise solution codepad |
| 89 | 27 Nov 2009 | $7.11: A math | puzzle: a+b+c+d = a×b×c×d = 7.11 | exercise solution codepad |
| 41 | 12 Jun 2009 | Feynman’s | Puzzle: A simple logic puzzle | exercise solution codepad |
| 129 | 20 Apr 2010 | 145 | Puzzle: Build and evaluate expressions using the digits one through nine and the simple arithmetic operators | exercise solution codepad |
| 412 | 05 Feb 2013 | The 147 | Puzzle: Compute all the solutions to 1/a + 1/b + 1/c + 1/d + 1/e = 1 in integers | exercise solution codepad |
| 311 | 03 Feb 2012 | Roman Numeral | Puzzle: Count the Roman numerals with no repeated digits | exercise solution codepad |
| 445 | 31 May 2013 | The Seven Bridges of Königsberg: A classic graph | puzzle due to Leonhard Euler | exercise solution codepad |
| 416 | 19 Feb 2013 | NPR Sunday | Puzzle: Find two words containing the letters a, b, c, d, e and f | exercise solution codepad |
| 229 | 19 Apr 2011 | Same Five Digits: A math | puzzle from New Scientist, solved by guest author Bob Miller | exercise solution codepad |
| 466 | 16 Aug 2013 | Monkey Grid | Puzzle: How many points can the monkey access? | exercise solution codepad |
| 87 | 20 Nov 2009 | Master Mind, Part 2: Solve a Master Mind | puzzle in five probes or less | exercise solution codepad |
| 191 | 07 Dec 2010 | Ullman’s | Puzzle: It never hurts to sort | exercise solution codepad |
| 79 | 23 Oct 2009 | Mr. S. and Mr. P.: A logic | puzzle popularized by John McCarthy | exercise solution codepad |
| 42 | 16 Jun 2009 | Who Owns The Zebra?: A logic | puzzle, solved by embedding a Prolog-like logic system in Scheme | exercise solution codepad |
| 7 | 20 Feb 2009 | Multiple Dwellings: A simple logic | puzzle, solved with the amb non-deterministic operator |
exercise solution codepad |
| 24 | 14 Apr 2009 | Google Treasure Hunt 2008 Puzzle 4: A prime-number | puzzle | exercise solution codepad |
| 41 | 12 Jun 2009 | Feynman’s Puzzle: A simple logic | puzzle | exercise solution codepad |
| 4 | 19 Feb 2009 | Sudoku: A backtracking solution to everybody’s favorite | puzzle | exercise solution codepad |
| 439 | 10 May 2013 | MindCipher: Three exercises from the MindCipher | puzzle website | exercise solution codepad |
| 99 | 05 Jan 2010 | The Sum Of Two Squares: A math | puzzle with a solution by Dijkstra | exercise solution codepad |
| 453 | 28 Jun 2013 | A Programming | Puzzle: Write a function f so that f(f(n)) = -n for all integers n. | exercise solution codepad |
| 385 | 26 Oct 2012 | Pythatorean Triples: Generate primitive | pythagorean triples by an ancient algorithm | exercise solution codepad |
| 385 | 26 Oct 2012 | Pythatorean Triples: Generate primitive pythagorean triples by an ancient algorithm | exercise solution codepad | |
| 328 | 03 Apr 2012 | Cornacchia’s Algorithm: Find solutions to | quadratic diophantine equations | exercise solution codepad |
| 336 | 01 May 2012 | Legendre’s Symbol: Determine if a number is a | quadratic residue mod m | exercise solution codepad |
| 451 | 21 Jun 2013 | Multiple Polynomial | Quadratic Sieve: A greatly improved version of the basic quadratic sieve | exercise solution codepad |
| 424 | 19 Mar 2013 | Quadratic Sieve: Basic version of a powerful factoring algorithm | exercise solution codepad | |
| 428 | 02 Apr 2013 | Quadratic Sieve With Large Primes: A (slightly) improved version of the basic | quadratic sieve | exercise solution codepad |
| 451 | 21 Jun 2013 | Multiple Polynomial Quadratic Sieve: A greatly improved version of the basic | quadratic sieve | exercise solution codepad |
| 428 | 02 Apr 2013 | Quadratic Sieve With Large Primes: A (slightly) improved version of the basic quadratic sieve | exercise solution codepad | |
| 80 | 27 Oct 2009 | Three | Quadratic Sorts: Bubble sort, selection sort and insertion sort | exercise solution codepad |
| 237 | 17 May 2011 | Two Bad Sorts: Stooge sort and bogosort are worse than | quadratic | exercise solution codepad |
| 109 | 09 Feb 2010 | Numerical Integration: | Quadrature by the rectangular, trapezoidal and Simpson’s method, including adaptive quadrature | exercise solution codepad |
| 109 | 09 Feb 2010 | Numerical Integration: Quadrature by the rectangular, trapezoidal and Simpson’s method, including adaptive | quadrature | exercise solution codepad |
| 426 | 26 Mar 2013 | Google Code Jam | Qualification Round Africa 2010, Revisited: Four solutions to a Google programming exercise, with various time complexities | exercise solution codepad |
| 211 | 15 Feb 2011 | Google Code Jam | Qualification Round Africa 2010: Three simple exercises | exercise solution codepad |
| 394 | 27 Nov 2012 | Amazon Interview | Question: Find the hundred points of a million closest to the origin | exercise solution codepad |
| 468 | 23 Aug 2013 | Three Interview | Questions: Three interview questions | exercise solution codepad |
| 468 | 23 Aug 2013 | Three Interview Questions: Three interview | questions | exercise solution codepad |
| 469 | 27 Aug 2013 | Two Sieving Problems: Use sieves to answer two prime-number | questions | exercise solution codepad |
| 461 | 30 Jul 2013 | Who Buys The Croissants?: Simulate an important Friday-morning | question | exercise solution codepad |
| 30 | 05 May 2009 | Priority Queues: A simple library implementation of the priority | queue data structure | exercise solution codepad |
| 491 | 08 Nov 2013 | Two Stacks Make A | Queue: Implement a queue using two stacks | exercise solution codepad |
| 279 | 14 Oct 2011 | The First N Primes: Embedding the Sieve of Eratosthenes in a priority | queue instead of an array | exercise solution codepad |
| 30 | 05 May 2009 | Priority | Queues: A simple library implementation of the priority queue data structure | exercise solution codepad |
| 410 | 25 Jan 2013 | Imperative Heaps: The classing implementation of priority | queues embedded in an array | exercise solution codepad |
| 489 | 29 Oct 2013 | Queues: Implement a basic data structure | exercise solution codepad | |
| 490 | 05 Nov 2013 | Two | Queues Make A Stack: Implement a stack using two queues | exercise solution codepad |
| 477 | 27 Sep 2013 | Double-Ended Priority | Queues: Priority queues that permit access at both ends | exercise solution codepad |
| 477 | 27 Sep 2013 | Double-Ended Priority Queues: Priority | queues that permit access at both ends | exercise solution codepad |
| 269 | 06 Sep 2011 | Deques: Library implementation of double-ended | queues | exercise solution codepad |
| 345 | 05 Jun 2012 | Binomial Heaps: Another algorithm for maintaining priority | queues | exercise solution codepad |
| 409 | 22 Jan 2013 | Splay Heaps: Yet another implementation of priority | queues | exercise solution codepad |
| 490 | 05 Nov 2013 | Two Queues Make A Stack: Implement a stack using two | queues | exercise solution codepad |
| 59 | 14 Aug 2009 | Pairing Heaps: A standard algorithm for maintaining priority | queues | exercise solution codepad |
| 83 | 06 Nov 2009 | Heap Sort: A guaranteed O(log n) sorting method based on priority | queues | exercise solution codepad |
| 491 | 08 Nov 2013 | Two Stacks Make A Queue: Implement a | queue using two stacks | exercise solution codepad |
| 210 | 11 Feb 2011 | Sums Of Powers: Use Bernoulli numbers to | quickly compute sums of powers | exercise solution codepad |
| 113 | 23 Feb 2010 | Engineering A Sort Function: A high-performance | quicksort by Jon Bentley and Doug McIlroy | exercise solution codepad |
| 82 | 03 Nov 2009 | Quick Sort: Tony Hoare’s divide-and-conquer sorting algorithm | exercise solution codepad | |
| 9 | 20 Feb 2009 | A Self-Reproducing Program: The quintessential | quine | exercise solution codepad |
| 9 | 20 Feb 2009 | A Self-Reproducing Program: The | quintessential quine | exercise solution codepad |
| 90 | 01 Dec 2009 | Wolves And | Rabbits: Analyze population dynamics using the Lotka-Volterra equations | exercise solution codepad |
| 64 | 01 Sep 2009 | String Search: | Rabin-Karp: Our final classic string-search algorithm | exercise solution codepad |
| 290 | 22 Nov 2011 | Rabin’s Cryptosystem: Public-key cryptosystem, similar to RSA | exercise solution codepad | |
| 29 | 01 May 2009 | Primality Checking: A probabilistic primality checker by Gary Miller and Michael | Rabin | exercise solution codepad |
| 245 | 14 Jun 2011 | Big Numbers: Input And Output: A library for big integers: input and output with | radix conversion | exercise solution codepad |
| 85 | 13 Nov 2009 | Two linear sorts: Count sort and | radix sort exploit the structure of integer keys | exercise solution codepad |
| 20 | 31 Mar 2009 | Rail-Fence Cipher: A simple transposition cipher | exercise solution codepad | |
| 389 | 09 Nov 2012 | Taxicab Numbers: Confirm an interesting observation of Srinivasa | Ramanujan | exercise solution codepad |
| 221 | 22 Mar 2011 | Two Kaprekar Exercises: Kaprekar chains and Kaprekar numbers, from the Indian mathematician Dattaraya | Ramchandra Kaprekar | exercise solution codepad |
| 434 | 23 Apr 2013 | Correct Horse Battery Staple: | Randall Munro’s passphrase generator | exercise solution codepad |
| 369 | 28 Aug 2012 | Random Access Lists: A clever data structure that provides O(log n) access to items in a sequential list, along with cons, head and tail | exercise solution codepad | |
| 225 | 05 Apr 2011 | Fortune: Print a | random aphorism from a file | exercise solution codepad |
| 367 | 21 Aug 2012 | Two More | Random Exercises: Two bad random number generators, the middle-square method and RANDU | exercise solution codepad |
| 366 | 17 Aug 2012 | Two | Random Exercises: Two exercises involving random numbers | exercise solution codepad |
| 45 | 26 Jun 2009 | Treaps: A | randomized dictionary data structure, provides in-order access to key | exercise solution codepad |
| 180 | 29 Oct 2010 | Fibonacci Primes: Find primes among the fibonacci numbers; includes the Park-Miller | random number generator and Miller-Rabin primality checker | exercise solution codepad |
| 232 | 29 Apr 2011 | Rule 30 RNG: The | random number generator from Mathematica, based on Stephen Wolfram’s Rule 30 cellular automata | exercise solution codepad |
| 135 | 25 May 2010 | GB_FLIP: Donald Knuth’s portable, high-quality | random-number generator from the Stanford Graphbase | exercise solution codepad |
| 173 | 05 Oct 2010 | George Marsaglia’s | Random Number Generators: Nine high-quality RNGs in nineteen lines of code | exercise solution codepad |
| 367 | 21 Aug 2012 | Two More Random Exercises: Two bad | random number generators, the middle-square method and RANDU | exercise solution codepad |
| 270 | 09 Sep 2011 | Mersenne Twister: | Random number generator with very long period, useful for simulations | exercise solution codepad |
| 249 | 28 Jun 2011 | Big Numbers: Functions: A library for big integers: gcd, powering, square root, | random numbers | exercise solution codepad |
| 366 | 17 Aug 2012 | Two Random Exercises: Two exercises involving | random numbers | exercise solution codepad |
| 192 | 10 Dec 2010 | Two Random Selections: Use | random number to select fortunes and lotto winners | exercise solution codepad |
| 78 | 20 Oct 2009 | Shuffle: Create | random permutations of an array or linked list | exercise solution codepad |
| 192 | 10 Dec 2010 | Two | Random Selections: Use random number to select fortunes and lotto winners | exercise solution codepad |
| 367 | 21 Aug 2012 | Two More Random Exercises: Two bad random number generators, the middle-square method and | RANDU | exercise solution codepad |
| 355 | 10 Jul 2012 | Sieve For Totients: Find the totients of a large | range of integers using a sieve | exercise solution codepad |
| 108 | 05 Feb 2010 | Segmented Sieve Of Eratosthenes: Extend the Sieve of Eratosthenes to large | ranges of integers | exercise solution codepad |
| 44 | 23 Jun 2009 | The Mod Out System: Expand a series of | ranges | exercise solution codepad |
| 357 | 17 Jul 2012 | Breshenham’s Line-Drawing Algorithm: Draw straight lines using | raster graphics | exercise solution codepad |
| 145 | 29 Jun 2010 | World Cup Prognostication: Simulate the knockout stage using elo | ratings | exercise solution codepad |
| 49 | 10 Jul 2009 | The Golden | Ratio: Evaluate a continued fraction, based on my daughter’s math homework | exercise solution codepad |
| 205 | 25 Jan 2011 | Rational Numbers: A library of basic arithmetic and comparison of fractions | exercise solution codepad | |
| 280 | 18 Oct 2011 | The Wall: | Ray Panko’s spreadsheet exercise | exercise solution codepad |
| 387 | 02 Nov 2012 | Gasoline Mileage Log: | Read a file of gasoline purchases to compute miles per gallon | exercise solution codepad |
| 479 | 04 Oct 2013 | Calculating Statistics: | Read a file of integers and calculate mean, median and mode | exercise solution codepad |
| 13 | 06 Mar 2009 | Roman Numerals: A library to | read and write Roman numerals | exercise solution codepad |
| 177 | 19 Oct 2010 | Text File Databases: Part 1: Functions to | read records with fields in various formats | exercise solution codepad |
| 240 | 27 May 2011 | Upside Up: Numbers that | read the same upside down | exercise solution codepad |
| 352 | 29 Jun 2012 | Sliding Median: Find the median of the most | recent k items in a stream | exercise solution codepad |
| 375 | 18 Sep 2012 | ABC Conjecture: Demonstrate a | recently-proved conjecture of number theory | exercise solution codepad |
| 16 | 17 Mar 2009 | Comma-Separated Values: Retrieve | records from a comma-separated values file using a finite-state machine | exercise solution codepad |
| 177 | 19 Oct 2010 | Text File Databases: Part 1: Functions to read | records with fields in various formats | exercise solution codepad |
| 178 | 22 Oct 2010 | Text File Databases: Part 2: Various functions to process | records with fields | exercise solution codepad |
| 256 | 22 Jul 2011 | Counting Primes Using Legendre’s Formula: | Recreate Legendre’s two-century old calculation of the number of primes less than a million | exercise solution codepad |
| 361 | 31 Jul 2012 | SEND + MORE = MONEY, Part 1: Two slow solutions to a classic problem of | recreational mathematics | exercise solution codepad |
| 362 | 03 Aug 2012 | SEND + MORE = MONEY, Part 2: Two hill-climbing solutions to a classic problem of | recreational mathematics | exercise solution codepad |
| 350 | 22 Jun 2012 | Billboard Challenge, Part 1: First part of a Google | recruiting challenge | exercise solution codepad |
| 351 | 26 Jun 2012 | Billboard Challenge, Part 2: Second part of a Google | recruiting challenge | exercise solution codepad |
| 109 | 09 Feb 2010 | Numerical Integration: Quadrature by the | rectangular, trapezoidal and Simpson’s method, including adaptive quadrature | exercise solution codepad |
| 137 | 01 Jun 2010 | Unwrapping A Spiral: An exercise in | recursion | exercise solution codepad |
| 279 | 11 Oct 2011 | Tower Of Hanoi: Classic demonstration of | recursion | exercise solution codepad |
| 343 | 25 May 2012 | Ackermann’s Function: A fast-growing function that tests | recursion | exercise solution codepad |
| 475 | 20 Sep 2013 | McCarthy’s 91 Function: A | recursive function designed as a test case for formal verification | exercise solution codepad |
| 73 | 02 Oct 2009 | Red-Black Trees: A purely functional dictionary data structure based on approximately-balanced trees | exercise solution codepad | |
| 440 | 14 May 2013 | Optimal Alphabetical Order: | Redefine the alphabet to improve alphabetical ordering | exercise solution codepad |
| 287 | 11 Nov 2011 | Generators: Write functions that yield a value, but can then be | re-entered | exercise solution codepad |
| 86 | 17 Nov 2009 | Master Mind, Part 1: | Referee a two-player game of deductive logic | exercise solution codepad |
| 275 | 27 Sep 2011 | Statistics: Calculate the mean, standard deviation, linear | regression and correlation | exercise solution codepad |
| 67 | 11 Sep 2009 | Beautiful Code: A simple | regular-expression matcher by Rob Pike | exercise solution codepad |
| 71 | 25 Sep 2009 | Grep: Simple version of the classic unix | regular-expression matching utility | exercise solution codepad |
| 68 | 15 Sep 2009 | Regular Expressions, Part 1: A parser for regular expressions | exercise solution codepad | |
| 69 | 18 Sep 2009 | Regular Expressions, Part 2: The corresponding matcher | exercise solution codepad | |
| 70 | 22 Sep 2009 | Regular Expressions, Part 3: A regular expression test suite | exercise solution codepad | |
| 68 | 15 Sep 2009 | Regular Expressions, Part 1: A parser for | regular expressions | exercise solution codepad |
| 70 | 22 Sep 2009 | Regular Expressions, Part 3: A | regular expression test suite | exercise solution codepad |
| 235 | 10 May 2011 | Comm: select or | reject lines common to two sorted files | exercise solution codepad |
| 141 | 15 Jun 2010 | Natural Join: The fundamental | relational database operator | exercise solution codepad |
| 186 | 19 Nov 2010 | Topological Sort: Order the edges of a graph by their precedence | relationship | exercise solution codepad |
| 347 | 12 Jun 2012 | Ordered Maps: A key/value dictionary that supports an ordering | relationship | exercise solution codepad |
| 465 | 13 Aug 2013 | Unix Paths: Convert | relative Unix path to absolute, by Robert Fisher | exercise solution codepad |
| 162 | 27 Aug 2010 | Chinese | Remainders: An ancient application of modular inverses | exercise solution codepad |
| 317 | 24 Feb 2012 | Remove Characters From A String: Remove from one string any character in a second string | exercise solution codepad | |
| 268 | 02 Sep 2011 | Two String Exercises: | Remove duplicate characters, and squish adjacent blanks | exercise solution codepad |
| 317 | 24 Feb 2012 | Remove Characters From A String: | Remove from one string any character in a second string | exercise solution codepad |
| 353 | 03 Jul 2012 | Chopping Words: Form a chain of words by | removing letters one at a time | exercise solution codepad |
| 66 | 08 Sep 2009 | Porter Stemming: Martin Porter’s algorithm for | removing suffices from word stems | exercise solution codepad |
| 311 | 03 Feb 2012 | Roman Numeral Puzzle: Count the Roman numerals with no | repeated digits | exercise solution codepad |
| 264 | 19 Aug 2011 | First Non-Repeating Character: Find the first character in a string that doesn’t | repeat later in the string | exercise solution codepad |
| 198 | 31 Dec 2010 | Arithmetic Drill: | Repetitious drill for children learning basic arithmetic | exercise solution codepad |
| 234 | 06 May 2011 | Entab And Detab: expand tabs into spaces, and | replace spaces with tabs | exercise solution codepad |
| 239 | 24 May 2011 | Big Numbers: Getting Started: A library for big integers: | representation, comparison, simple functions | exercise solution codepad |
| 359 | 24 Jul 2012 | Zeckendorf | Representation: Find the fibonacci numbers that sum to a given number | exercise solution codepad |
| 206 | 28 Jan 2011 | Population Count: Count the number of set bits (1-bits) in the binary | representation of an integer | exercise solution codepad |
| 227 | 12 Apr 2011 | House Of | Representatives: Apportion representatives by the Huntington-Hill method | exercise solution codepad |
| 227 | 12 Apr 2011 | House Of Representatives: Apportion | representatives by the Huntington-Hill method | exercise solution codepad |
| 325 | 23 Mar 2012 | Base-26 Arithmetic: Perform arithmetic on integers | represented as strings of letters | exercise solution codepad |
| 446 | 04 Jun 2013 | Egyptian Fractions: An ancient method of | representing fractions | exercise solution codepad |
| 336 | 01 May 2012 | Legendre’s Symbol: Determine if a number is a quadratic | residue mod m | exercise solution codepad |
| 368 | 24 Aug 2012 | Hash Tables With Open Addressing: An alternative to hash tables with chaining for collision | resolution | exercise solution codepad |
| 297 | 16 Dec 2011 | Majority Voting: Determine the | results of an election | exercise solution codepad |
| 16 | 17 Mar 2009 | Comma-Separated Values: | Retrieve records from a comma-separated values file using a finite-state machine | exercise solution codepad |
| 181 | 02 Nov 2010 | Emirps: Prime numbers that are prime when their digits are | reversed, but not palindromic | exercise solution codepad |
| 266 | 26 Aug 2011 | Reverse Every K Nodes Of A Linked List: Reverse the elements of a sub-list | exercise solution codepad | |
| 266 | 26 Aug 2011 | Reverse Every K Nodes Of A Linked List: | Reverse the elements of a sub-list | exercise solution codepad |
| 217 | 08 Mar 2011 | Reverse Words: | Reverse the words in an input string | exercise solution codepad |
| 217 | 08 Mar 2011 | Reverse Words: Reverse the words in an input string | exercise solution codepad | |
| 395 | 30 Nov 2012 | Selection, | Revisited: A guaranteed linear-time algorithm for selection | exercise solution codepad |
| 272 | 16 Sep 2011 | Pollard’s P−1 Factorization Algoritihm, | Revisited: An improved second stage that is much faster than the original | exercise solution codepad |
| 223 | 28 Mar 2011 | Look And Say, | Revisited: Compute Conway’s constant | exercise solution codepad |
| 426 | 26 Mar 2013 | Google Code Jam Qualification Round Africa 2010, | Revisited: Four solutions to a Google programming exercise, with various time complexities | exercise solution codepad |
| 204 | 21 Jan 0 | Pollard Rho, | Revisited: Richard Brent’s variant of John Pollard’s rho algorithm for integer factorization | exercise solution codepad |
| 281 | 21 Oct 2011 | Sum, | Revisited: SysV and Berkeley versions of the Unix V7 sum command | exercise solution codepad |
| 105 | 26 Jan 2010 | Primality Checking, | Revisited: The Baillie-Wagstaff algorithm for primality checking | exercise solution codepad |
| 331 | 13 Apr 2012 | McNugget Numbers, | Revisited: The classic coin problem in disguise, how to count the number of ways to make change | exercise solution codepad |
| 258 | 29 Jul 2011 | Approximating Pi: Approximating pi with the logarithmic integral and Riemann’s | R function | exercise solution codepad |
| 204 | 21 Jan 0 | Pollard Rho, Revisited: Richard Brent’s variant of John Pollard’s | rho algorithm for integer factorization | exercise solution codepad |
| 43 | 19 Jun 2009 | Monte Carlo Factorization: Integer factorization via Pollard’s | rho algorithm | exercise solution codepad |
| 132 | 30 Apr 2010 | Integer Factorization: Combine trial division, Pollard’s | rho and p−1 methods, and elliptic curves into a single factorization program | exercise solution codepad |
| 204 | 21 Jan 0 | Pollard | Rho, Revisited: Richard Brent’s variant of John Pollard’s rho algorithm for integer factorization | exercise solution codepad |
| 334 | 24 Apr 2012 | Rhyming Dictionary: Find rhyming words for poets | exercise solution codepad | |
| 334 | 24 Apr 2012 | Rhyming Dictionary: Find | rhyming words for poets | exercise solution codepad |
| 204 | 21 Jan 0 | Pollard Rho, Revisited: | Richard Brent’s variant of John Pollard’s rho algorithm for integer factorization | exercise solution codepad |
| 293 | 02 Dec 2011 | Knight | Rider: Classic problem of the knight’s tour | exercise solution codepad |
| 258 | 29 Jul 2011 | Approximating Pi: Approximating pi with the logarithmic integral and | Riemann’s R function | exercise solution codepad |
| 401 | 21 Dec 2012 | Building Primes: Build the largest prime with all | right-most subsequences also prime | exercise solution codepad |
| 284 | 01 Nov 2011 | RIP John McCarthy: Implementation of the “Maxwell’s equations of software” from the LISP 1.5 Programmer’s Manual | exercise solution codepad | |
| 65 | 04 Sep 2009 | Ron’s Cipher #4: Stream cipher by Ron | Rivest that underlies the SSL and WEP protocols | exercise solution codepad |
| 173 | 05 Oct 2010 | George Marsaglia’s Random Number Generators: Nine high-quality | RNGs in nineteen lines of code | exercise solution codepad |
| 232 | 29 Apr 2011 | Rule 30 | RNG: The random number generator from Mathematica, based on Stephen Wolfram’s Rule 30 cellular automata | exercise solution codepad |
| 465 | 13 Aug 2013 | Unix Paths: Convert relative Unix path to absolute, by | Robert Fisher | exercise solution codepad |
| 67 | 11 Sep 2009 | Beautiful Code: A simple regular-expression matcher by | Rob Pike | exercise solution codepad |
| 311 | 03 Feb 2012 | Roman Numeral Puzzle: Count the Roman numerals with no repeated digits | exercise solution codepad | |
| 13 | 06 Mar 2009 | Roman Numerals: A library to read and write Roman numerals | exercise solution codepad | |
| 13 | 06 Mar 2009 | Roman Numerals: A library to read and write | Roman numerals | exercise solution codepad |
| 311 | 03 Feb 2012 | Roman Numeral Puzzle: Count the | Roman numerals with no repeated digits | exercise solution codepad |
| 65 | 04 Sep 2009 | Ron’s Cipher #4: Stream cipher by | Ron Rivest that underlies the SSL and WEP protocols | exercise solution codepad |
| 65 | 04 Sep 2009 | Ron’s Cipher #4: Stream cipher by Ron Rivest that underlies the SSL and WEP protocols | exercise solution codepad | |
| 249 | 28 Jun 2011 | Big Numbers: Functions: A library for big integers: gcd, powering, square | root, random numbers | exercise solution codepad |
| 433 | 19 Apr 2013 | Integer Roots: Calculate square | roots and higher roots in integer arithmetic | exercise solution codepad |
| 95 | 18 Dec 2009 | Calculating Logarithms: Use the methods of Newton and Euler to calculate square | roots and logarithms | exercise solution codepad |
| 433 | 19 Apr 2013 | Integer | Roots: Calculate square roots and higher roots in integer arithmetic | exercise solution codepad |
| 344 | 01 Jun 2012 | Square | Roots: Four methods to compute square roots, including one from antiquity | exercise solution codepad |
| 344 | 01 Jun 2012 | Square Roots: Four methods to compute square | roots, including one from antiquity | exercise solution codepad |
| 433 | 19 Apr 2013 | Integer Roots: Calculate square roots and higher | roots in integer arithmetic | exercise solution codepad |
| 393 | 23 Nov 2012 | Tonelli-Shanks Algorithm: Compute modular square | roots | exercise solution codepad |
| 48 | 07 Jul 2009 | Modular Arithmetic: A function library for performing modular addition, subtraction, multiplication, division, and square | root | exercise solution codepad |
| 400 | 18 Dec 2012 | Petals Around The | Rose: A game to celebrate our 400th exercise | exercise solution codepad |
| 123 | 30 Mar 2010 | Passover: Calculate the dates of the Jewish holidays | Rosh Hashanah and Passover | exercise solution codepad |
| 6 | 20 Feb 2009 | ROT13: A simple Caesar-shift cipher | exercise solution codepad | |
| 175 | 12 Oct 2010 | Rotate An Array: A simple but tricky exercise solved by an algorithm from the folklore of computing | exercise solution codepad | |
| 310 | 31 Jan 2012 | String | Rotation: Determine if two strings are rotations of each other | exercise solution codepad |
| 310 | 31 Jan 2012 | String Rotation: Determine if two strings are | rotations of each other | exercise solution codepad |
| 415 | 15 Feb 2013 | Facebook Hacker Cup 2013, | Round 1, Problem 1: Count the ways to win a card game | exercise solution codepad |
| 406 | 08 Jan 2013 | Floating Point Rounding: | Round a floating point number to a given decimal place | exercise solution codepad |
| 426 | 26 Mar 2013 | Google Code Jam Qualification | Round Africa 2010, Revisited: Four solutions to a Google programming exercise, with various time complexities | exercise solution codepad |
| 211 | 15 Feb 2011 | Google Code Jam Qualification | Round Africa 2010: Three simple exercises | exercise solution codepad |
| 406 | 08 Jan 2013 | Floating Point | Rounding: Round a floating point number to a given decimal place | exercise solution codepad |
| 364 | 10 Aug 2012 | Minimum Scalar Product: A simple exercise from the practice | round of Google Code Jam 2008 | exercise solution codepad |
| 320 | 06 Mar 2012 | Union | Route Cipher: Military cipher used successfully by Union forces in the American Civil War | exercise solution codepad |
| 184 | 12 Nov 2010 | Rowland’s Prime-Generating Function: A sequence of ones and primes | exercise solution codepad | |
| 458 | 19 Jul 2013 | J K | Rowling: Identify an author using forensic linguistics | exercise solution codepad |
| 313 | 10 Feb 2012 | Search In An Ascending Matrix: Find a number in a matrix where both | rows and columns are sorted in ascending order | exercise solution codepad |
| 1 | 19 Feb 2009 | RPN Calculator: Evaluate numeric expressions at the command line | exercise solution codepad | |
| 185 | 16 Nov 2010 | RSA Cryptography: The original public-key cryptographic system, still in wide use | exercise solution codepad | |
| 324 | 20 Mar 2012 | Factoring Multiple | RSA Keys: Exploit a key-generation weakness to factor RSA keys | exercise solution codepad |
| 324 | 20 Mar 2012 | Factoring Multiple RSA Keys: Exploit a key-generation weakness to factor | RSA keys | exercise solution codepad |
| 290 | 22 Nov 2011 | Rabin’s Cryptosystem: Public-key cryptosystem, similar to | RSA | exercise solution codepad |
| 232 | 29 Apr 2011 | Rule 30 RNG: The random number generator from Mathematica, based on Stephen Wolfram’s | Rule 30 cellular automata | exercise solution codepad |
| 232 | 29 Apr 2011 | Rule 30 RNG: The random number generator from Mathematica, based on Stephen Wolfram’s Rule 30 cellular automata | exercise solution codepad | |
| 114 | 26 Feb 2010 | Run Length Encoding: A simple compression method for text files | exercise solution codepad | |
| 448 | 11 Jun 2013 | Longest Substring Of Two Unique Characters: Longest | run of consecutive characters in a string that contains only two unique characters | exercise solution codepad |
| 77 | 16 Oct 2009 | Growable Arrays: Arrays that grow and shrink at | run-time, with O(log n) complexity per operation | exercise solution codepad |
| 118 | 12 Mar 2010 | Traveling | Salesman: Brute Force: Examine all possible permutations to find the least-cost tour | exercise solution codepad |
| 127 | 13 Apr 2010 | Traveling | Salesman: Minimum Spanning Tree: Heuristic guarantees solution within factor of two of optimal tour | exercise solution codepad |
| 119 | 16 Mar 2010 | Traveling | Salesman: Nearest Neighbor: A greedy heuristic that builds a path by always choosing the nearest unvisited point | exercise solution codepad |
| 318 | 28 Feb 2012 | Next Greater Permutation Of Digits: Find the smallest number larger than the input number using the | same digits as the input number | exercise solution codepad |
| 229 | 19 Apr 2011 | Same Five Digits: A math puzzle from New Scientist, solved by guest author Bob Miller | exercise solution codepad | |
| 155 | 03 Aug 2010 | Carl Hewitt’s | Same-Fringe Problem: Do two trees have the same leaves, solved with streams (lazy lists) | exercise solution codepad |
| 155 | 03 Aug 2010 | Carl Hewitt’s Same-Fringe Problem: Do two trees have the | same leaves, solved with streams (lazy lists) | exercise solution codepad |
| 288 | 15 Nov 2011 | Phil Harvey’s Puzle: partition {1,…,16} into two sets of equal size so each subset has the | same sum, sum of squares and sum of cubes | exercise solution codepad |
| 240 | 27 May 2011 | Upside Up: Numbers that read the | same upside down | exercise solution codepad |
| 28 | 28 Apr 2009 | Morse Code: Translating the dots-and-dashes of | Samuel Finley Breese Morse’s telegraph code | exercise solution codepad |
| 79 | 23 Oct 2009 | Mr. | S. and Mr. P.: A logic puzzle popularized by John McCarthy | exercise solution codepad |
| 196 | 24 Dec 2010 | Tracking | Santa: How far does Santa travel on his annual journey? | exercise solution codepad |
| 196 | 24 Dec 2010 | Tracking Santa: How far does | Santa travel on his annual journey? | exercise solution codepad |
| 455 | 05 Jul 2013 | Weekdays Between Two Dates: Number of days between two dates, excluding | Saturday and Sunday | exercise solution codepad |
| 379 | 05 Oct 2012 | AKS Primality Prover, Part 2: The primality prover of Agrawal, Kayal and | Saxena | exercise solution codepad |
| 219 | 15 Mar 2011 | Look And | Say: Calculate John Horton Conway’s "Look and Say" sequence | exercise solution codepad |
| 223 | 28 Mar 2011 | Look And | Say, Revisited: Compute Conway’s constant | exercise solution codepad |
| 219 | 15 Mar 2011 | Look And Say: Calculate John Horton Conway’s "Look and | Say" sequence | exercise solution codepad |
| 143 | 22 Jun 2010 | Matrix Operations: Matrix addition, | scalar multiplication, multiplication and transposition | exercise solution codepad |
| 364 | 10 Aug 2012 | Minimum | Scalar Product: A simple exercise from the practice round of Google Code Jam 2008 | exercise solution codepad |
| 189 | 30 Nov 2010 | Form Letters: Merge a | schema and a data file to write form letters | exercise solution codepad |
| 384 | 23 Oct 2012 | Universal Hash Function: Compute a hash for any native | Scheme datatype | exercise solution codepad |
| 2 | 19 Feb 2009 | Sieve of Eratosthenes: A | Scheme implementation of an ancient algorithm | exercise solution codepad |
| 42 | 16 Jun 2009 | Who Owns The Zebra?: A logic puzzle, solved by embedding a Prolog-like logic system in | Scheme | exercise solution codepad |
| 246 | 17 Jun 2011 | Adi Shamir’s Threshold | Scheme: Use cryptography to share a secret, by Graham Enos | exercise solution codepad |
| 203 | 18 Jan 2011 | Solitaire Cipher: Bruce | Schneier’s strong cryptography based on a deck of playing cards | exercise solution codepad |
| 289 | 18 Nov 2011 | Grade School Multiplication: Display the steps in the grade | school multiplication algorithm | exercise solution codepad |
| 289 | 18 Nov 2011 | Grade | School Multiplication: Display the steps in the grade school multiplication algorithm | exercise solution codepad |
| 450 | 18 Jun 2013 | 3SUM: A classic of computer | science: find three numbers in an array that sum to zero | exercise solution codepad |
| 33 | 15 May 2009 | Cellular Automata: Linear cellular automata as described by Stephen Wolfram in his book A New Kind of | Science | exercise solution codepad |
| 229 | 19 Apr 2011 | Same Five Digits: A math puzzle from New | Scientist, solved by guest author Bob Miller | exercise solution codepad |
| 486 | 29 Oct 2013 | The 16 Game: Determine the odds in a | scratch-off game | exercise solution codepad |
| 329 | 06 Apr 2012 | Voters: Watch voting blocks migrate on the | screen | exercise solution codepad |
| 18 | 23 Mar 2009 | Binary | Search: A simple task, easy to get wrong | exercise solution codepad |
| 63 | 28 Aug 2009 | String | Search: Boyer-Moore: Search for a pattern in a text using a fast and simple algorithm | exercise solution codepad |
| 61 | 21 Aug 2009 | String | Search: Brute Force: Search for a pattern in a text by comparing the pattern to the text at all possible positions | exercise solution codepad |
| 61 | 21 Aug 2009 | String Search: Brute Force: | Search for a pattern in a text by comparing the pattern to the text at all possible positions | exercise solution codepad |
| 63 | 28 Aug 2009 | String Search: Boyer-Moore: | Search for a pattern in a text using a fast and simple algorithm | exercise solution codepad |
| 62 | 25 Aug 2009 | String Search: Knuth-Morris-Pratt: | Search for a pattern in a text using an O(n) algorithm | exercise solution codepad |
| 313 | 10 Feb 2012 | Search In An Ascending Matrix: Find a number in a matrix where both rows and columns are sorted in ascending order | exercise solution codepad | |
| 62 | 25 Aug 2009 | String | Search: Knuth-Morris-Pratt: Search for a pattern in a text using an O(n) algorithm | exercise solution codepad |
| 64 | 01 Sep 2009 | String | Search: Rabin-Karp: Our final classic string-search algorithm | exercise solution codepad |
| 36 | 26 May 2009 | Word | Search Solver: A computerized implementation of a popular time-waster | exercise solution codepad |
| 116 | 05 Mar 2010 | Binary | Search Tree: Classic data structure, providing insert, delete and lookup for ordered datatypes | exercise solution codepad |
| 414 | 12 Feb 2013 | Binary | Search Tree: In-Order Predecessor And Successor: Find the previous and next items in a tree | exercise solution codepad |
| 218 | 11 Mar 2011 | Lowest Common Ancestor: Find the lowest node in a binary | search tree that is a common ancestor to two given nodes | exercise solution codepad |
| 39 | 05 Jun 2009 | Ternary | Search Tries: Build a function library for handling ternary search tries | exercise solution codepad |
| 39 | 05 Jun 2009 | Ternary Search Tries: Build a function library for handling ternary | search tries | exercise solution codepad |
| 422 | 12 Mar 2013 | An Array Of Two Symbols: A learning experience for binary | search | exercise solution codepad |
| 351 | 26 Jun 2012 | Billboard Challenge, Part 2: | Second part of a Google recruiting challenge | exercise solution codepad |
| 272 | 16 Sep 2011 | Pollard’s P−1 Factorization Algoritihm, Revisited: An improved | second stage that is much faster than the original | exercise solution codepad |
| 120 | 19 Mar 2010 | Extending Pollard’s P−1 Factorization Algorithm: Add a | second stage to allow larger factorizations | exercise solution codepad |
| 317 | 24 Feb 2012 | Remove Characters From A String: Remove from one string any character in a | second string | exercise solution codepad |
| 246 | 17 Jun 2011 | Adi Shamir’s Threshold Scheme: Use cryptography to share a | secret, by Graham Enos | exercise solution codepad |
| 473 | 12 Sep 2013 | Diffie Hellman Key Exchange: Manage | secure exchanges on an insecure communications channel | exercise solution codepad |
| 60 | 18 Aug 2009 | Blum Blum Shub: Stream cipher based on a cryptographically | secure pseudo-random number generator | exercise solution codepad |
| 108 | 05 Feb 2010 | Segmented Sieve Of Eratosthenes: Extend the Sieve of Eratosthenes to large ranges of integers | exercise solution codepad | |
| 159 | 17 Aug 2010 | Cut: | Select fields or characters from input lines | exercise solution codepad |
| 192 | 10 Dec 2010 | Two Random Selections: Use random number to | select fortunes and lotto winners | exercise solution codepad |
| 93 | 11 Dec 2009 | Selection: Find the kth-largest item in a list | exercise solution codepad | |
| 395 | 30 Nov 2012 | Selection, Revisited: A guaranteed linear-time algorithm for selection | exercise solution codepad | |
| 80 | 27 Oct 2009 | Three Quadratic Sorts: Bubble sort, | selection sort and insertion sort | exercise solution codepad |
| 192 | 10 Dec 2010 | Two Random | Selections: Use random number to select fortunes and lotto winners | exercise solution codepad |
| 395 | 30 Nov 2012 | Selection, Revisited: A guaranteed linear-time algorithm for | selection | exercise solution codepad |
| 235 | 10 May 2011 | Comm: | select or reject lines common to two sorted files | exercise solution codepad |
| 9 | 20 Feb 2009 | A | Self-Reproducing Program: The quintessential quine | exercise solution codepad |
| 342 | 22 May 2012 | Hamming Codes: | Send messages over a noisy channel without error | exercise solution codepad |
| 361 | 31 Jul 2012 | SEND + MORE = MONEY, Part 1: Two slow solutions to a classic problem of recreational mathematics | exercise solution codepad | |
| 362 | 03 Aug 2012 | SEND + MORE = MONEY, Part 2: Two hill-climbing solutions to a classic problem of recreational mathematics | exercise solution codepad | |
| 411 | 01 Feb 2013 | Hofstadter’s | Sequence: An infinite figure-figure sequence | exercise solution codepad |
| 399 | 14 Dec 2012 | 115132219018763992565095597973971522401: Calculate the | sequence of narcissistic numbers | exercise solution codepad |
| 397 | 07 Dec 2012 | Wirth Problem 15.12: Compute a | sequence of numbers defined by Wirth | exercise solution codepad |
| 184 | 12 Nov 2010 | Rowland’s Prime-Generating Function: A | sequence of ones and primes | exercise solution codepad |
| 478 | 01 Oct 2013 | Lucas | Sequences: Fast methods for calculating Lucas sequences, similar to Fibonacci sequences | exercise solution codepad |
| 478 | 01 Oct 2013 | Lucas Sequences: Fast methods for calculating Lucas | sequences, similar to Fibonacci sequences | exercise solution codepad |
| 478 | 01 Oct 2013 | Lucas Sequences: Fast methods for calculating Lucas sequences, similar to Fibonacci | sequences | exercise solution codepad |
| 212 | 18 Feb 2011 | Two Factoring Games: Home primes and the Euclid-Mullin | sequence | exercise solution codepad |
| 219 | 15 Mar 2011 | Look And Say: Calculate John Horton Conway’s "Look and Say" | sequence | exercise solution codepad |
| 315 | 17 Feb 2012 | Hailstones: Examine the Collatz | sequence | exercise solution codepad |
| 411 | 01 Feb 2013 | Hofstadter’s Sequence: An infinite figure-figure | sequence | exercise solution codepad |
| 369 | 28 Aug 2012 | Random Access Lists: A clever data structure that provides O(log n) access to items in a | sequential list, along with cons, head and tail | exercise solution codepad |
| 101 | 12 Jan 2010 | Calculating Sines: Calculate sines using Taylor | series and the triple-angle formula, by Bill Cruise | exercise solution codepad |
| 44 | 23 Jun 2009 | The Mod Out System: Expand a | series of ranges | exercise solution codepad |
| 206 | 28 Jan 2011 | Population Count: Count the number of | set bits (1-bits) in the binary representation of an integer | exercise solution codepad |
| 149 | 13 Jul 2010 | Word Cube: A game to form words from a given | set of letters | exercise solution codepad |
| 344 | 00 May 2012 | Streaming Median: Find the medians of a | set of numbers as they arrive in a stream | exercise solution codepad |
| 46 | 30 Jun 2009 | Steve Yegge’s Phone-Screen Coding Exercises: A simple | set of programming exercises based on a blog entry by Steve Yegge | exercise solution codepad |
| 447 | 07 Jun 2013 | Sets: A classic data structure and associated algorithms | exercise solution codepad | |
| 124 | 02 Apr 2010 | Disjoint | Sets: A data structure for storing sets of items in disjoint partitions | exercise solution codepad |
| 321 | 09 Mar 2012 | Sparse | Sets: Clever data structure for storing sparse sets of small integers | exercise solution codepad |
| 288 | 15 Nov 2011 | Phil Harvey’s Puzle: partition {1,…,16} into two | sets of equal size so each subset has the same sum, sum of squares and sum of cubes | exercise solution codepad |
| 339 | 11 May 2012 | partitions: | Sets of integers that sum to a given integer | exercise solution codepad |
| 124 | 02 Apr 2010 | Disjoint Sets: A data structure for storing | sets of items in disjoint partitions | exercise solution codepad |
| 321 | 09 Mar 2012 | Sparse Sets: Clever data structure for storing sparse | sets of small integers | exercise solution codepad |
| 437 | 03 May 2013 | Pairing Students: Create | sets of students, each paired to the other only once | exercise solution codepad |
| 445 | 31 May 2013 | The | Seven Bridges of Königsberg: A classic graph puzzle due to Leonhard Euler | exercise solution codepad |
| 133 | 04 May 2010 | Spectacular | Seven: Compute the odds at jai alai | exercise solution codepad |
| 246 | 17 Jun 2011 | Adi | Shamir’s Threshold Scheme: Use cryptography to share a secret, by Graham Enos | exercise solution codepad |
| 11 | 27 Feb 2009 | Mark V. | Shaney: Generate parodies of a text using a Markov chain | exercise solution codepad |
| 161 | 24 Aug 2010 | Daniel | Shanks’ Square Form Factorization Algorithm: A simple and very fast factorization algorithm for integers between 105 and 1020 | exercise solution codepad |
| 246 | 17 Jun 2011 | Adi Shamir’s Threshold Scheme: Use cryptography to | share a secret, by Graham Enos | exercise solution codepad |
| 160 | 20 Aug 0 | Marriage Sort: A sub-quadratic sort similar to | shell sort or comb sort | exercise solution codepad |
| 81 | 30 Oct 2009 | Two Sub-Quadratic Sorts: Comb sort and | shell sort | exercise solution codepad |
| 199 | 04 Jan 2011 | Dijkstra’s Algorithm: Find the | shortest path to all vertices of a graph from a single source, guest written by Graham Enos | exercise solution codepad |
| 77 | 16 Oct 2009 | Growable Arrays: Arrays that grow and | shrink at run-time, with O(log n) complexity per operation | exercise solution codepad |
| 60 | 18 Aug 2009 | Blum Blum | Shub: Stream cipher based on a cryptographically secure pseudo-random number generator | exercise solution codepad |
| 78 | 20 Oct 2009 | Shuffle: Create random permutations of an array or linked list | exercise solution codepad | |
| 195 | 21 Dec 2010 | Interval Arithmetic: An exercise from | SICP | exercise solution codepad |
| 323 | 16 Mar 2012 | Sum Of Squares Of Two Largest Of Three Values: A simple problem from | SICP with a variety of solutions | exercise solution codepad |
| 254 | 15 Jul 2011 | JSON: Writing Output: The other | side of JSAON | exercise solution codepad |
| 451 | 21 Jun 2013 | Multiple Polynomial Quadratic | Sieve: A greatly improved version of the basic quadratic sieve | exercise solution codepad |
| 303 | 06 Jan 2012 | Pritchard’s Wheel | Sieve: An alternative to the Sieve of Eratosthenes with a faster asymptotic time complexity | exercise solution codepad |
| 424 | 19 Mar 2013 | Quadratic | Sieve: Basic version of a powerful factoring algorithm | exercise solution codepad |
| 355 | 10 Jul 2012 | Sieve For Totients: Find the totients of a large range of integers using a sieve | exercise solution codepad | |
| 110 | 12 Feb 2010 | Sieve of Atkin: A modern alternative to the Sieve of Eratosthenes for computing prime numbers | exercise solution codepad | |
| 112 | 19 Feb 2010 | Sieve Of Atkin, Improved: A faster version of the Sieve of Atkin | exercise solution codepad | |
| 112 | 19 Feb 2010 | Sieve Of Atkin, Improved: A faster version of the | Sieve of Atkin | exercise solution codepad |
| 2 | 19 Feb 2009 | Sieve of Eratosthenes: A Scheme implementation of an ancient algorithm | exercise solution codepad | |
| 108 | 05 Feb 2010 | Segmented | Sieve Of Eratosthenes: Extend the Sieve of Eratosthenes to large ranges of integers | exercise solution codepad |
| 110 | 12 Feb 2010 | Sieve of Atkin: A modern alternative to the | Sieve of Eratosthenes for computing prime numbers | exercise solution codepad |
| 279 | 14 Oct 2011 | The First N Primes: Embedding the | Sieve of Eratosthenes in a priority queue instead of an array | exercise solution codepad |
| 332 | 17 Apr 2012 | Twin Primes: A variant of the | Sieve of Eratosthenes to find pairs of primes that differ by two | exercise solution codepad |
| 108 | 05 Feb 2010 | Segmented Sieve Of Eratosthenes: Extend the | Sieve of Eratosthenes to large ranges of integers | exercise solution codepad |
| 303 | 06 Jan 2012 | Pritchard’s Wheel Sieve: An alternative to the | Sieve of Eratosthenes with a faster asymptotic time complexity | exercise solution codepad |
| 214 | 25 Feb 2011 | Sieve Of Euler: An alternate, and slow, method of sieving for primes | exercise solution codepad | |
| 278 | 07 Oct 2011 | Sieve of Sundaram: Sieving for prime numbers using a method from India | exercise solution codepad | |
| 469 | 27 Aug 2013 | Two Sieving Problems: Use | sieves to answer two prime-number questions | exercise solution codepad |
| 314 | 14 Feb 2012 | Divisors: Find divisors using a | sieve | exercise solution codepad |
| 355 | 10 Jul 2012 | Sieve For Totients: Find the totients of a large range of integers using a | sieve | exercise solution codepad |
| 428 | 02 Apr 2013 | Quadratic Sieve With Large Primes: A (slightly) improved version of the basic quadratic | sieve | exercise solution codepad |
| 451 | 21 Jun 2013 | Multiple Polynomial Quadratic Sieve: A greatly improved version of the basic quadratic | sieve | exercise solution codepad |
| 428 | 02 Apr 2013 | Quadratic | Sieve With Large Primes: A (slightly) improved version of the basic quadratic sieve | exercise solution codepad |
| 278 | 07 Oct 2011 | Sieve of Sundaram: | Sieving for prime numbers using a method from India | exercise solution codepad |
| 214 | 25 Feb 2011 | Sieve Of Euler: An alternate, and slow, method of | sieving for primes | exercise solution codepad |
| 469 | 27 Aug 2013 | Two | Sieving Problems: Use sieves to answer two prime-number questions | exercise solution codepad |
| 312 | 07 Feb 2012 | Solar Compass: Determine North by | sighting the Sun | exercise solution codepad |
| 111 | 16 Feb 2010 | Soundex: An algorithm to assign people’s last names to equivalence classes based on | similar spelling | exercise solution codepad |
| 478 | 01 Oct 2013 | Lucas Sequences: Fast methods for calculating Lucas sequences, | similar to Fibonacci sequences | exercise solution codepad |
| 171 | 28 Sep 2010 | Maxiphobic Heaps: A priority-queue data structure, | similar to leftist heaps, due to Chris Okasaki | exercise solution codepad |
| 138 | 04 Jun 2010 | Williams’ P+1 Factorization Algorithm: A factorization algorithm, | similar to Pollard’s p−1 algorithm | exercise solution codepad |
| 290 | 22 Nov 2011 | Rabin’s Cryptosystem: Public-key cryptosystem, | similar to RSA | exercise solution codepad |
| 160 | 20 Aug 0 | Marriage Sort: A sub-quadratic sort | similar to shell sort or comb sort | exercise solution codepad |
| 136 | 28 May 2010 | Printing Files: A simple program to list files, | similar to the unix pr program | exercise solution codepad |
| 63 | 28 Aug 2009 | String Search: Boyer-Moore: Search for a pattern in a text using a fast and | simple algorithm | exercise solution codepad |
| 37 | 29 May 2009 | Double Transposition Cipher: A | simple and effective cipher, easy to perform by hand | exercise solution codepad |
| 161 | 24 Aug 2010 | Daniel Shanks’ Square Form Factorization Algorithm: A | simple and very fast factorization algorithm for integers between 105 and 1020 | exercise solution codepad |
| 129 | 20 Apr 2010 | 145 Puzzle: Build and evaluate expressions using the digits one through nine and the | simple arithmetic operators | exercise solution codepad |
| 76 | 13 Oct 2009 | Bifid: A | simple but effective fractionating cipher, never used militarily | exercise solution codepad |
| 175 | 12 Oct 2010 | Rotate An Array: A | simple but tricky exercise solved by an algorithm from the folklore of computing | exercise solution codepad |
| 6 | 20 Feb 2009 | ROT13: A | simple Caesar-shift cipher | exercise solution codepad |
| 114 | 26 Feb 2010 | Run Length Encoding: A | simple compression method for text files | exercise solution codepad |
| 283 | 28 Oct 2011 | Crypt: | Simple encryption tool from Kernighan and Plauger | exercise solution codepad |
| 476 | 24 Sep 2013 | Finding Digit Strings In Powers Of Two: A | simple exercise from one of the competitive programming sites | exercise solution codepad |
| 364 | 10 Aug 2012 | Minimum Scalar Product: A | simple exercise from the practice round of Google Code Jam 2008 | exercise solution codepad |
| 438 | 07 May 2013 | Three List Exercises: Three | simple exercises on lists, for beginning programmers | exercise solution codepad |
| 211 | 15 Feb 2011 | Google Code Jam Qualification Round Africa 2010: Three | simple exercises | exercise solution codepad |
| 38 | 02 Jun 2009 | Pig Latin: A | simple exercise to solve a children’s game | exercise solution codepad |
| 52 | 21 Jul 2009 | Pollard’s P−1 Factorization Algorithm: A | simple factorization algorithm by John Pollard | exercise solution codepad |
| 239 | 24 May 2011 | Big Numbers: Getting Started: A library for big integers: representation, comparison, | simple functions | exercise solution codepad |
| 462 | 02 Aug 2013 | Ordered Hash Tables: Knuth’s improvement to | simple hash tables | exercise solution codepad |
| 55 | 31 Jul 2009 | Elliptic Curve Factorization: A very | simple implementation of elliptic curve factorization | exercise solution codepad |
| 30 | 05 May 2009 | Priority Queues: A | simple library implementation of the priority queue data structure | exercise solution codepad |
| 32 | 12 May 2009 | Loan Amortization: Calculate and print a | simple loan amortization table | exercise solution codepad |
| 7 | 20 Feb 2009 | Multiple Dwellings: A | simple logic puzzle, solved with the amb non-deterministic operator |
exercise solution codepad |
| 41 | 12 Jun 2009 | Feynman’s Puzzle: A | simple logic puzzle | exercise solution codepad |
| 323 | 16 Mar 2012 | Sum Of Squares Of Two Largest Of Three Values: A | simple problem from SICP with a variety of solutions | exercise solution codepad |
| 295 | 09 Dec 2011 | McNugget Numbers: A | simple problem, worked out on a napkin | exercise solution codepad |
| 136 | 28 May 2010 | Printing Files: A | simple program to list files, similar to the unix pr program | exercise solution codepad |
| 67 | 11 Sep 2009 | Beautiful Code: A | simple regular-expression matcher by Rob Pike | exercise solution codepad |
| 46 | 30 Jun 2009 | Steve Yegge’s Phone-Screen Coding Exercises: A | simple set of programming exercises based on a blog entry by Steve Yegge | exercise solution codepad |
| 158 | 13 Aug 2010 | E: A | simple simulation with a surprising ending | exercise solution codepad |
| 18 | 23 Mar 2009 | Binary Search: A | simple task, easy to get wrong | exercise solution codepad |
| 20 | 31 Mar 2009 | Rail-Fence Cipher: A | simple transposition cipher | exercise solution codepad |
| 15 | 13 Mar 2009 | Friday, the Thirteenth: A small calendar library, and a | simple use of it | exercise solution codepad |
| 71 | 25 Sep 2009 | Grep: | Simple version of the classic unix regular-expression matching utility | exercise solution codepad |
| 485 | 25 Oct 2013 | Pessimal Algorithms And | Simplexity Analysis: The slowsort algorithm using the multiply and surrender algorithms | exercise solution codepad |
| 109 | 09 Feb 2010 | Numerical Integration: Quadrature by the rectangular, trapezoidal and | Simpson’s method, including adaptive quadrature | exercise solution codepad |
| 216 | 04 Mar 2011 | Chutes And Ladders: | Simulate a child’s game, and compute its statistics | exercise solution codepad |
| 330 | 10 Apr 2012 | Galton: | Simulate a marble-drop that forms a bell-shaped curve | exercise solution codepad |
| 461 | 30 Jul 2013 | Who Buys The Croissants?: | Simulate an important Friday-morning question | exercise solution codepad |
| 285 | 04 Nov 2011 | Craps: | Simulate a popular game of gambling with dice | exercise solution codepad |
| 202 | 14 Jan 2011 | Slots: | Simulate a slot machine | exercise solution codepad |
| 53 | 24 Jul 2009 | Let’s Make A Deal!: | Simulate a tricky probability calculation | exercise solution codepad |
| 145 | 29 Jun 2010 | World Cup Prognostication: | Simulate the knockout stage using elo ratings | exercise solution codepad |
| 484 | 22 Oct 2013 | David Gries’ Coffee Can Problem: | Simulate the process of extracting beans from a coffee can | exercise solution codepad |
| 270 | 09 Sep 2011 | Mersenne Twister: Random number generator with very long period, useful for | simulations | exercise solution codepad |
| 381 | 12 Oct 2012 | Birthday Paradox: Use | simulation to demonstrate the birthday paradox | exercise solution codepad |
| 423 | 15 Mar 2013 | Buffon’s Needle: Compute the value of π with a | simulation | exercise solution codepad |
| 158 | 13 Aug 2010 | E: A simple | simulation with a surprising ending | exercise solution codepad |
| 19 | 27 Mar 2009 | A Turing Machine | Simulator: An interpreter for a single-tape, multi-symbol turing machine | exercise solution codepad |
| 104 | 22 Jan 2010 | Phases Of The Moon: Calculate the number of days | since the last new moon | exercise solution codepad |
| 101 | 12 Jan 2010 | Calculating | Sines: Calculate sines using Taylor series and the triple-angle formula, by Bill Cruise | exercise solution codepad |
| 101 | 12 Jan 2010 | Calculating Sines: Calculate | sines using Taylor series and the triple-angle formula, by Bill Cruise | exercise solution codepad |
| 132 | 30 Apr 2010 | Integer Factorization: Combine trial division, Pollard’s rho and p−1 methods, and elliptic curves into a | single factorization program | exercise solution codepad |
| 199 | 04 Jan 2011 | Dijkstra’s Algorithm: Find the shortest path to all vertices of a graph from a | single source, guest written by Graham Enos | exercise solution codepad |
| 19 | 27 Mar 2009 | A Turing Machine Simulator: An interpreter for a | single-tape, multi-symbol turing machine | exercise solution codepad |
| 476 | 24 Sep 2013 | Finding Digit Strings In Powers Of Two: A simple exercise from one of the competitive programming | sites | exercise solution codepad |
| 309 | 27 Jan 2012 | Anagram Phrases: “Gin grammar prop | six” is an anagram for “Programming Praxis” | exercise solution codepad |
| 425 | 22 Mar 2013 | Jumping Jack: Jump in increasing | sizes along the number line | exercise solution codepad |
| 288 | 15 Nov 2011 | Phil Harvey’s Puzle: partition {1,…,16} into two sets of equal | size so each subset has the same sum, sum of squares and sum of cubes | exercise solution codepad |
| 213 | 22 Feb 2011 | Sliding Window Minimum: List of minimums | sliding across an input list | exercise solution codepad |
| 352 | 29 Jun 2012 | Sliding Median: Find the median of the most recent k items in a stream | exercise solution codepad | |
| 213 | 22 Feb 2011 | Sliding Window Minimum: List of minimums sliding across an input list | exercise solution codepad | |
| 428 | 02 Apr 2013 | Quadratic Sieve With Large Primes: A | (slightly) improved version of the basic quadratic sieve | exercise solution codepad |
| 202 | 14 Jan 2011 | Slots: Simulate a | slot machine | exercise solution codepad |
| 202 | 14 Jan 2011 | Slots: Simulate a slot machine | exercise solution codepad | |
| 236 | 13 May 2011 | Dixon’s Factorization Algorithm: A | slow, but theoretically important, algorithm for integer factorization | exercise solution codepad |
| 214 | 25 Feb 2011 | Sieve Of Euler: An alternate, and | slow, method of sieving for primes | exercise solution codepad |
| 361 | 31 Jul 2012 | SEND + MORE = MONEY, Part 1: Two | slow solutions to a classic problem of recreational mathematics | exercise solution codepad |
| 485 | 25 Oct 2013 | Pessimal Algorithms And Simplexity Analysis: The | slowsort algorithm using the multiply and surrender algorithms | exercise solution codepad |
| 15 | 13 Mar 2009 | Friday, the Thirteenth: A | small calendar library, and a simple use of it | exercise solution codepad |
| 474 | 17 Sep 2013 | Smallest Consecutive Four-Factor Composites: Find consecutive numbers with four factors | exercise solution codepad | |
| 318 | 28 Feb 2012 | Next Greater Permutation Of Digits: Find the | smallest number larger than the input number using the same digits as the input number | exercise solution codepad |
| 321 | 09 Mar 2012 | Sparse Sets: Clever data structure for storing sparse sets of | small integers | exercise solution codepad |
| 308 | 24 Jan 2012 | A Dozen Lines Of Code: Do something cool in a | small space | exercise solution codepad |
| 299 | 23 Dec 2011 | Koch’s | Snowflake: Draw a fractal snowflake using PostScript | exercise solution codepad |
| 299 | 23 Dec 2011 | Koch’s Snowflake: Draw a fractal | snowflake using PostScript | exercise solution codepad |
| 337 | 04 May 2012 | Even-Odd Partition: Partition an array | so all even integers precede all odd integers | exercise solution codepad |
| 288 | 15 Nov 2011 | Phil Harvey’s Puzle: partition {1,…,16} into two sets of equal size | so each subset has the same sum, sum of squares and sum of cubes | exercise solution codepad |
| 284 | 01 Nov 2011 | RIP John McCarthy: Implementation of the “Maxwell’s equations of | software” from the LISP 1.5 Programmer’s Manual | exercise solution codepad |
| 312 | 07 Feb 2012 | Solar Compass: Determine North by sighting the Sun | exercise solution codepad | |
| 203 | 18 Jan 2011 | Solitaire Cipher: Bruce Schneier’s strong cryptography based on a deck of playing cards | exercise solution codepad | |
| 99 | 05 Jan 2010 | The Sum Of Two Squares: A math puzzle with a | solution by Dijkstra | exercise solution codepad |
| 412 | 05 Feb 2013 | The 147 Puzzle: Compute all the | solutions to 1/a + 1/b + 1/c + 1/d + 1/e = 1 in integers | exercise solution codepad |
| 361 | 31 Jul 2012 | SEND + MORE = MONEY, Part 1: Two slow | solutions to a classic problem of recreational mathematics | exercise solution codepad |
| 362 | 03 Aug 2012 | SEND + MORE = MONEY, Part 2: Two hill-climbing | solutions to a classic problem of recreational mathematics | exercise solution codepad |
| 426 | 26 Mar 2013 | Google Code Jam Qualification Round Africa 2010, Revisited: Four | solutions to a Google programming exercise, with various time complexities | exercise solution codepad |
| 328 | 03 Apr 2012 | Cornacchia’s Algorithm: Find | solutions to quadratic diophantine equations | exercise solution codepad |
| 323 | 16 Mar 2012 | Sum Of Squares Of Two Largest Of Three Values: A simple problem from SICP with a variety of | solutions | exercise solution codepad |
| 391 | 16 Nov 2012 | List Intersection And Union: Two algorithms on linked lists, with multiple | solutions | exercise solution codepad |
| 40 | 09 Jun 2009 | Longest Common Subsequence: A classic programming algorithm, with a | solution that dates to folklore | exercise solution codepad |
| 398 | 11 Dec 2012 | Stepwise Program Development: A Heuristic Algorithm: A backtracking | solution to a problem of Wirth | exercise solution codepad |
| 4 | 19 Feb 2009 | Sudoku: A backtracking | solution to everybody’s favorite puzzle | exercise solution codepad |
| 327 | 30 Mar 2012 | Subset Sum, Meet In The Middle: An improved | solution to the classic NP problem | exercise solution codepad |
| 127 | 13 Apr 2010 | Traveling Salesman: Minimum Spanning Tree: Heuristic guarantees | solution within factor of two of optimal tour | exercise solution codepad |
| 38 | 02 Jun 2009 | Pig Latin: A simple exercise to | solve a children’s game | exercise solution codepad |
| 326 | 27 Mar 2012 | Subset Sum: | Solve a classic NP problem using dynamic programming | exercise solution codepad |
| 58 | 11 Aug 2009 | Uncle Bob’s Bowling Game Kata: Use pattern-matching on lists to | solve a classic object-oriented programming exercise | exercise solution codepad |
| 87 | 20 Nov 2009 | Master Mind, Part 2: | Solve a Master Mind puzzle in five probes or less | exercise solution codepad |
| 50 | 14 Jul 2009 | The Daily Cryptogram: | Solve a monoalphabetic substitution cipher | exercise solution codepad |
| 14 | 10 Mar 2009 | Word Frequencies: Our interpretation of a problem | solved by a classic unix pipeline | exercise solution codepad |
| 175 | 12 Oct 2010 | Rotate An Array: A simple but tricky exercise | solved by an algorithm from the folklore of computing | exercise solution codepad |
| 42 | 16 Jun 2009 | Who Owns The Zebra?: A logic puzzle, | solved by embedding a Prolog-like logic system in Scheme | exercise solution codepad |
| 229 | 19 Apr 2011 | Same Five Digits: A math puzzle from New Scientist, | solved by guest author Bob Miller | exercise solution codepad |
| 155 | 03 Aug 2010 | Carl Hewitt’s Same-Fringe Problem: Do two trees have the same leaves, | solved with streams (lazy lists) | exercise solution codepad |
| 7 | 20 Feb 2009 | Multiple Dwellings: A simple logic puzzle, | solved with the amb non-deterministic operator |
exercise solution codepad |
| 36 | 26 May 2009 | Word Search | Solver: A computerized implementation of a popular time-waster | exercise solution codepad |
| 144 | 25 Jun 2010 | Learn A New Language: | Solve the exercise of your choice in an unfamiliar language | exercise solution codepad |
| 316 | 21 Feb 2012 | Learn A New Language: | Solve the exercise of your choice in an unfamiliar language | exercise solution codepad |
| 151 | 20 Jul 2010 | Solving Systems Of Linear Equations: Matrix operations LU-decomposition and LUP-decomposition | exercise solution codepad | |
| 388 | 06 Nov 2012 | Fix | Something Annoying: Take control of your computing environment by fixing something that annoys you | exercise solution codepad |
| 308 | 24 Jan 2012 | A Dozen Lines Of Code: Do | something cool in a small space | exercise solution codepad |
| 388 | 06 Nov 2012 | Fix Something Annoying: Take control of your computing environment by fixing | something that annoys you | exercise solution codepad |
| 260 | 05 Aug 2011 | Ninety-Nine Bottles Of Beer: The popular | song | exercise solution codepad |
| 463 | 06 Aug 2013 | Sophie Germain Primes: Primes p such that 2p+1 is also prime | exercise solution codepad | |
| 84 | 10 Nov 2009 | Merge | Sort: A fast, stable sorting algorithm, especially well-suited to linked lists | exercise solution codepad |
| 83 | 06 Nov 2009 | Heap | Sort: A guaranteed O(log n) sorting method based on priority queues | exercise solution codepad |
| 237 | 17 May 2011 | Two Bad Sorts: Stooge | sort and bogosort are worse than quadratic | exercise solution codepad |
| 80 | 27 Oct 2009 | Three Quadratic Sorts: Bubble sort, selection | sort and insertion sort | exercise solution codepad |
| 85 | 13 Nov 2009 | Two linear sorts: Count | sort and radix sort exploit the structure of integer keys | exercise solution codepad |
| 81 | 30 Oct 2009 | Two Sub-Quadratic Sorts: Comb | sort and shell sort | exercise solution codepad |
| 160 | 20 Aug 0 | Marriage | Sort: A sub-quadratic sort similar to shell sort or comb sort | exercise solution codepad |
| 420 | 05 Mar 2013 | Dutch National Flag: Classic ternary | sort by Edsgar Dijkstra | exercise solution codepad |
| 235 | 10 May 2011 | Comm: select or reject lines common to two | sorted files | exercise solution codepad |
| 313 | 10 Feb 2012 | Search In An Ascending Matrix: Find a number in a matrix where both rows and columns are | sorted in ascending order | exercise solution codepad |
| 263 | 16 Aug 2011 | Insert Into A Cyclic | Sorted List: Insert a new element into a cyclic list, in order | exercise solution codepad |
| 193 | 14 Dec 2010 | Longest Duplicated Substring: Use a | sorted suffix list | exercise solution codepad |
| 85 | 13 Nov 2009 | Two linear sorts: Count sort and radix | sort exploit the structure of integer keys | exercise solution codepad |
| 113 | 23 Feb 2010 | Engineering A | Sort Function: A high-performance quicksort by Jon Bentley and Doug McIlroy | exercise solution codepad |
| 84 | 10 Nov 2009 | Merge Sort: A fast, stable | sorting algorithm, especially well-suited to linked lists | exercise solution codepad |
| 82 | 03 Nov 2009 | Quick Sort: Tony Hoare’s divide-and-conquer | sorting algorithm | exercise solution codepad |
| 261 | 09 Aug 2011 | Hett’s Problem 1.28: | Sorting a list of lists according to length of sublists | exercise solution codepad |
| 22 | 07 Apr 2009 | Flipping Pancakes: A | sorting method analyzed by Bill Gates | exercise solution codepad |
| 83 | 06 Nov 2009 | Heap Sort: A guaranteed O(log n) | sorting method based on priority queues | exercise solution codepad |
| 160 | 20 Aug 0 | Marriage Sort: A sub-quadratic sort similar to shell | sort or comb sort | exercise solution codepad |
| 186 | 19 Nov 2010 | Topological | Sort: Order the edges of a graph by their precedence relationship | exercise solution codepad |
| 80 | 27 Oct 2009 | Three Quadratic | Sorts: Bubble sort, selection sort and insertion sort | exercise solution codepad |
| 81 | 30 Oct 2009 | Two Sub-Quadratic | Sorts: Comb sort and shell sort | exercise solution codepad |
| 85 | 13 Nov 2009 | Two linear | sorts: Count sort and radix sort exploit the structure of integer keys | exercise solution codepad |
| 80 | 27 Oct 2009 | Three Quadratic Sorts: Bubble | sort, selection sort and insertion sort | exercise solution codepad |
| 160 | 20 Aug 0 | Marriage Sort: A sub-quadratic | sort similar to shell sort or comb sort | exercise solution codepad |
| 237 | 17 May 2011 | Two Bad | Sorts: Stooge sort and bogosort are worse than quadratic | exercise solution codepad |
| 82 | 03 Nov 2009 | Quick | Sort: Tony Hoare’s divide-and-conquer sorting algorithm | exercise solution codepad |
| 160 | 20 Aug 0 | Marriage Sort: A sub-quadratic sort similar to shell sort or comb | sort | exercise solution codepad |
| 191 | 07 Dec 2010 | Ullman’s Puzzle: It never hurts to | sort | exercise solution codepad |
| 80 | 27 Oct 2009 | Three Quadratic Sorts: Bubble sort, selection sort and insertion | sort | exercise solution codepad |
| 81 | 30 Oct 2009 | Two Sub-Quadratic Sorts: Comb sort and shell | sort | exercise solution codepad |
| 453 | 28 Jun 2013 | A Programming Puzzle: Write a function f | so that f(f(n)) = -n for all integers n. | exercise solution codepad |
| 111 | 16 Feb 2010 | Soundex: An algorithm to assign people’s last names to equivalence classes based on similar spelling | exercise solution codepad | |
| 199 | 04 Jan 2011 | Dijkstra’s Algorithm: Find the shortest path to all vertices of a graph from a single | source, guest written by Graham Enos | exercise solution codepad |
| 234 | 06 May 2011 | Entab And Detab: expand tabs into | spaces, and replace spaces with tabs | exercise solution codepad |
| 262 | 12 Aug 2011 | Word Breaks: Insert | spaces between words: applepie => apple pie | exercise solution codepad |
| 234 | 06 May 2011 | Entab And Detab: expand tabs into spaces, and replace | spaces with tabs | exercise solution codepad |
| 308 | 24 Jan 2012 | A Dozen Lines Of Code: Do something cool in a small | space | exercise solution codepad |
| 127 | 13 Apr 2010 | Traveling Salesman: Minimum | Spanning Tree: Heuristic guarantees solution within factor of two of optimal tour | exercise solution codepad |
| 125 | 06 Apr 2010 | Minimum | Spanning Tree: Kruskal’s Algorithm: Find the minimum-cost tree that includes all the nodes in a graph | exercise solution codepad |
| 126 | 09 Apr 2010 | Minimum | Spanning Tree: Prim’s Algorithm: Find the minimum-cost tree that includes all the nodes in a graph | exercise solution codepad |
| 321 | 09 Mar 2012 | Sparse Sets: Clever data structure for storing sparse sets of small integers | exercise solution codepad | |
| 321 | 09 Mar 2012 | Sparse Sets: Clever data structure for storing | sparse sets of small integers | exercise solution codepad |
| 133 | 04 May 2010 | Spectacular Seven: Compute the odds at jai alai | exercise solution codepad | |
| 97 | 29 Dec 2009 | A Statisticle | Speling Korrecter: Peter Norvig’s version of the Google spelling suggester | exercise solution codepad |
| 26 | 21 Apr 2009 | Probabilistic Spell Checking: A probabilistic | spell-checker based on a Bloom filter | exercise solution codepad |
| 25 | 17 Apr 2009 | Spell Checking: A | spell-checker in a trie-based dictionary | exercise solution codepad |
| 26 | 21 Apr 2009 | Probabilistic | Spell Checking: A probabilistic spell-checker based on a Bloom filter | exercise solution codepad |
| 25 | 17 Apr 2009 | Spell Checking: A spell-checker in a trie-based dictionary | exercise solution codepad | |
| 172 | 01 Oct 2010 | Oban Numbers: Numbers that omit the letter “o” when | spelled, and a function to convert numbers to words | exercise solution codepad |
| 97 | 29 Dec 2009 | A Statisticle Speling Korrecter: Peter Norvig’s version of the Google | spelling suggester | exercise solution codepad |
| 111 | 16 Feb 2010 | Soundex: An algorithm to assign people’s last names to equivalence classes based on similar | spelling | exercise solution codepad |
| 8 | 20 Feb 2009 | The Digits of Pi: A | spigot algorithm to calculate the digits of pi | exercise solution codepad |
| 137 | 01 Jun 2010 | Unwrapping A | Spiral: An exercise in recursion | exercise solution codepad |
| 409 | 22 Jan 2013 | Splay Heaps: Yet another implementation of priority queues | exercise solution codepad | |
| 301 | 30 Dec 2011 | Split: | Split a list in two halves using the tortoise-and-hare algorithm | exercise solution codepad |
| 231 | 26 Apr 2011 | Miscellanea: FizzBuzz, Prime Words, and | Split A List | exercise solution codepad |
| 301 | 30 Dec 2011 | Split: Split a list in two halves using the tortoise-and-hare algorithm | exercise solution codepad | |
| 280 | 18 Oct 2011 | The Wall: Ray Panko’s | spreadsheet exercise | exercise solution codepad |
| 418 | 26 Feb 2013 | An Odd Way To Square: | Square a number without using multiplication or exponentiation | exercise solution codepad |
| 405 | 02 Jan 2013 | Four Points Determine A | Square: Determine if four given points form a square | exercise solution codepad |
| 106 | 29 Jan 2010 | Straddling Checkerboard: An alternative to the Polybius | square for ciphers that must convert letters to digits | exercise solution codepad |
| 161 | 24 Aug 2010 | Daniel Shanks’ | Square Form Factorization Algorithm: A simple and very fast factorization algorithm for integers between 105 and 1020 | exercise solution codepad |
| 156 | 06 Aug 2010 | Two Powering Predicates: Determine if a number is a | square or a prime power | exercise solution codepad |
| 249 | 28 Jun 2011 | Big Numbers: Functions: A library for big integers: gcd, powering, | square root, random numbers | exercise solution codepad |
| 433 | 19 Apr 2013 | Integer Roots: Calculate | square roots and higher roots in integer arithmetic | exercise solution codepad |
| 95 | 18 Dec 2009 | Calculating Logarithms: Use the methods of Newton and Euler to calculate | square roots and logarithms | exercise solution codepad |
| 344 | 01 Jun 2012 | Square Roots: Four methods to compute square roots, including one from antiquity | exercise solution codepad | |
| 344 | 01 Jun 2012 | Square Roots: Four methods to compute | square roots, including one from antiquity | exercise solution codepad |
| 393 | 23 Nov 2012 | Tonelli-Shanks Algorithm: Compute modular | square roots | exercise solution codepad |
| 48 | 07 Jul 2009 | Modular Arithmetic: A function library for performing modular addition, subtraction, multiplication, division, and | square root | exercise solution codepad |
| 99 | 05 Jan 2010 | The Sum Of Two | Squares: A math puzzle with a solution by Dijkstra | exercise solution codepad |
| 288 | 15 Nov 2011 | Phil Harvey’s Puzle: partition {1,…,16} into two sets of equal size so each subset has the same sum, sum of | squares and sum of cubes | exercise solution codepad |
| 152 | 23 Jul 2010 | Happy Numbers: Iterating the sum of the | squares of the digits terminates with one | exercise solution codepad |
| 323 | 16 Mar 2012 | Sum Of | Squares Of Two Largest Of Three Values: A simple problem from SICP with a variety of solutions | exercise solution codepad |
| 418 | 26 Feb 2013 | An Odd Way To | Square: Square a number without using multiplication or exponentiation | exercise solution codepad |
| 233 | 03 May 2011 | Squaring The Bishop: Charles Babbage’s game of word | squares | exercise solution codepad |
| 169 | 21 Sep 2010 | Kaprekar Numbers: | Square the number and add the digits in halves | exercise solution codepad |
| 405 | 02 Jan 2013 | Four Points Determine A Square: Determine if four given points form a | square | exercise solution codepad |
| 233 | 03 May 2011 | Squaring The Bishop: Charles Babbage’s game of word squares | exercise solution codepad | |
| 268 | 02 Sep 2011 | Two String Exercises: Remove duplicate characters, and | squish adjacent blanks | exercise solution codepad |
| 389 | 09 Nov 2012 | Taxicab Numbers: Confirm an interesting observation of | Srinivasa Ramanujan | exercise solution codepad |
| 65 | 04 Sep 2009 | Ron’s Cipher #4: Stream cipher by Ron Rivest that underlies the | SSL and WEP protocols | exercise solution codepad |
| 84 | 10 Nov 2009 | Merge Sort: A fast, | stable sorting algorithm, especially well-suited to linked lists | exercise solution codepad |
| 490 | 05 Nov 2013 | Two Queues Make A | Stack: Implement a stack using two queues | exercise solution codepad |
| 360 | 27 Jul 2012 | Min | Stack: Provide push and pop operations and find the minimum element in linear time | exercise solution codepad |
| 491 | 08 Nov 2013 | Two | Stacks Make A Queue: Implement a queue using two stacks | exercise solution codepad |
| 491 | 08 Nov 2013 | Two Stacks Make A Queue: Implement a queue using two | stacks | exercise solution codepad |
| 490 | 05 Nov 2013 | Two Queues Make A Stack: Implement a | stack using two queues | exercise solution codepad |
| 272 | 16 Sep 2011 | Pollard’s P−1 Factorization Algoritihm, Revisited: An improved second | stage that is much faster than the original | exercise solution codepad |
| 120 | 19 Mar 2010 | Extending Pollard’s P−1 Factorization Algorithm: Add a second | stage to allow larger factorizations | exercise solution codepad |
| 145 | 29 Jun 2010 | World Cup Prognostication: Simulate the knockout | stage using elo ratings | exercise solution codepad |
| 59 | 14 Aug 2009 | Pairing Heaps: A | standard algorithm for maintaining priority queues | exercise solution codepad |
| 286 | 08 Nov 2011 | Improved | Standard Continuation: An improved version of elliptic curve factorization, widely used in current practice | exercise solution codepad |
| 275 | 27 Sep 2011 | Statistics: Calculate the mean, | standard deviation, linear regression and correlation | exercise solution codepad |
| 163 | 31 Aug 2010 | Data Encryption | Standard: Part 1: Basic block enciphering and deciphering using DES | exercise solution codepad |
| 164 | 03 Sep 2010 | Data Encryption | Standard: Part 2: ECB, CBC, CFB and OFB block modes for DES and other block ciphers | exercise solution codepad |
| 165 | 07 Sep 2010 | Data Encryption | Standard: Part 3: Triple DES and cryptographic hashing | exercise solution codepad |
| 166 | 10 Sep 2010 | Data Encryption | Standard: Part 4: DES driver program | exercise solution codepad |
| 222 | 25 Mar 2011 | Sum: The | standard Unix V7 file-checksum command | exercise solution codepad |
| 135 | 25 May 2010 | GB_FLIP: Donald Knuth’s portable, high-quality random-number generator from the | Stanford Graphbase | exercise solution codepad |
| 435 | 26 Apr 2013 | Correct Horse Battery | Staple, Improved: Fix a horrible bug in the original version | exercise solution codepad |
| 434 | 23 Apr 2013 | Correct Horse Battery | Staple: Randall Munro’s passphrase generator | exercise solution codepad |
| 239 | 24 May 2011 | Big Numbers: Getting | Started: A library for big integers: representation, comparison, simple functions | exercise solution codepad |
| 356 | 13 Jul 2012 | The Evolution Of Flibs: Use genetic programming to build a finite | state machine | exercise solution codepad |
| 97 | 29 Dec 2009 | A | Statisticle Speling Korrecter: Peter Norvig’s version of the Google spelling suggester | exercise solution codepad |
| 275 | 27 Sep 2011 | Statistics: Calculate the mean, standard deviation, linear regression and correlation | exercise solution codepad | |
| 479 | 04 Oct 2013 | Calculating | Statistics: Read a file of integers and calculate mean, median and mode | exercise solution codepad |
| 216 | 04 Mar 2011 | Chutes And Ladders: Simulate a child’s game, and compute its | statistics | exercise solution codepad |
| 244 | 10 Jun 2011 | Steganography: A hand-operable system that combines cryptography and steganography | exercise solution codepad | |
| 244 | 10 Jun 2011 | Steganography: A hand-operable system that combines cryptography and | steganography | exercise solution codepad |
| 66 | 08 Sep 2009 | Porter | Stemming: Martin Porter’s algorithm for removing suffices from word stems | exercise solution codepad |
| 66 | 08 Sep 2009 | Porter Stemming: Martin Porter’s algorithm for removing suffices from word | stems | exercise solution codepad |
| 33 | 15 May 2009 | Cellular Automata: Linear cellular automata as described by | Stephen Wolfram in his book A New Kind of Science | exercise solution codepad |
| 232 | 29 Apr 2011 | Rule 30 RNG: The random number generator from Mathematica, based on | Stephen Wolfram’s Rule 30 cellular automata | exercise solution codepad |
| 289 | 18 Nov 2011 | Grade School Multiplication: Display the | steps in the grade school multiplication algorithm | exercise solution codepad |
| 398 | 11 Dec 2012 | Stepwise Program Development: A Heuristic Algorithm: A backtracking solution to a problem of Wirth | exercise solution codepad | |
| 46 | 30 Jun 2009 | Steve Yegge’s Phone-Screen Coding Exercises: A simple set of programming exercises based on a blog entry by Steve Yegge | exercise solution codepad | |
| 46 | 30 Jun 2009 | Steve Yegge’s Phone-Screen Coding Exercises: A simple set of programming exercises based on a blog entry by | Steve Yegge | exercise solution codepad |
| 185 | 16 Nov 2010 | RSA Cryptography: The original public-key cryptographic system, | still in wide use | exercise solution codepad |
| 237 | 17 May 2011 | Two Bad Sorts: | Stooge sort and bogosort are worse than quadratic | exercise solution codepad |
| 407 | 15 Jan 2013 | Translate CSV To Html: Convert between tabular | storage forms | exercise solution codepad |
| 382 | 16 Oct 2012 | Version Control: Economically | store multiple versions of text files | exercise solution codepad |
| 124 | 02 Apr 2010 | Disjoint Sets: A data structure for | storing sets of items in disjoint partitions | exercise solution codepad |
| 321 | 09 Mar 2012 | Sparse Sets: Clever data structure for | storing sparse sets of small integers | exercise solution codepad |
| 106 | 29 Jan 2010 | Straddling Checkerboard: An alternative to the Polybius square for ciphers that must convert letters to digits | exercise solution codepad | |
| 357 | 17 Jul 2012 | Breshenham’s Line-Drawing Algorithm: Draw | straight lines using raster graphics | exercise solution codepad |
| 417 | 22 Feb 2013 | Floupia: Make change in a | strange currency | exercise solution codepad |
| 60 | 18 Aug 2009 | Blum Blum Shub: | Stream cipher based on a cryptographically secure pseudo-random number generator | exercise solution codepad |
| 65 | 04 Sep 2009 | Ron’s Cipher #4: | Stream cipher by Ron Rivest that underlies the SSL and WEP protocols | exercise solution codepad |
| 340 | 15 May 2012 | Streaming Knapsack: Find first possible combination from a stream that sums to a given integer | exercise solution codepad | |
| 344 | 00 May 2012 | Streaming Median: Find the medians of a set of numbers as they arrive in a stream | exercise solution codepad | |
| 155 | 03 Aug 2010 | Carl Hewitt’s Same-Fringe Problem: Do two trees have the same leaves, solved with | streams (lazy lists) | exercise solution codepad |
| 340 | 15 May 2012 | Streaming Knapsack: Find first possible combination from a | stream that sums to a given integer | exercise solution codepad |
| 344 | 00 May 2012 | Streaming Median: Find the medians of a set of numbers as they arrive in a | stream | exercise solution codepad |
| 352 | 29 Jun 2012 | Sliding Median: Find the median of the most recent k items in a | stream | exercise solution codepad |
| 176 | 15 Oct 2010 | Find The Longest Palindrome In A | String: A beautiful linear-time algorithm due to Johan Jeuring | exercise solution codepad |
| 317 | 24 Feb 2012 | Remove Characters From A String: Remove from one | string any character in a second string | exercise solution codepad |
| 268 | 02 Sep 2011 | Two | String Exercises: Remove duplicate characters, and squish adjacent blanks | exercise solution codepad |
| 436 | 30 Apr 2013 | First Unrepeated Character In A | String: Find the first character that appears only once in a string | exercise solution codepad |
| 187 | 23 Nov 2010 | String Subsets: Determine if one | string is a subset of another | exercise solution codepad |
| 317 | 24 Feb 2012 | Remove Characters From A | String: Remove from one string any character in a second string | exercise solution codepad |
| 310 | 31 Jan 2012 | String Rotation: Determine if two strings are rotations of each other | exercise solution codepad | |
| 310 | 31 Jan 2012 | String Rotation: Determine if two | strings are rotations of each other | exercise solution codepad |
| 64 | 01 Sep 2009 | String Search: Rabin-Karp: Our final classic | string-search algorithm | exercise solution codepad |
| 63 | 28 Aug 2009 | String Search: Boyer-Moore: Search for a pattern in a text using a fast and simple algorithm | exercise solution codepad | |
| 61 | 21 Aug 2009 | String Search: Brute Force: Search for a pattern in a text by comparing the pattern to the text at all possible positions | exercise solution codepad | |
| 62 | 25 Aug 2009 | String Search: Knuth-Morris-Pratt: Search for a pattern in a text using an O(n) algorithm | exercise solution codepad | |
| 64 | 01 Sep 2009 | String Search: Rabin-Karp: Our final classic string-search algorithm | exercise solution codepad | |
| 476 | 24 Sep 2013 | Finding Digit | Strings In Powers Of Two: A simple exercise from one of the competitive programming sites | exercise solution codepad |
| 325 | 23 Mar 2012 | Base-26 Arithmetic: Perform arithmetic on integers represented as | strings of letters | exercise solution codepad |
| 187 | 23 Nov 2010 | String Subsets: Determine if one string is a subset of another | exercise solution codepad | |
| 448 | 11 Jun 2013 | Longest Substring Of Two Unique Characters: Longest run of consecutive characters in a | string that contains only two unique characters | exercise solution codepad |
| 264 | 19 Aug 2011 | First Non-Repeating Character: Find the first character in a | string that doesn’t repeat later in the string | exercise solution codepad |
| 217 | 08 Mar 2011 | Reverse Words: Reverse the words in an input | string | exercise solution codepad |
| 264 | 19 Aug 2011 | First Non-Repeating Character: Find the first character in a string that doesn’t repeat later in the | string | exercise solution codepad |
| 317 | 24 Feb 2012 | Remove Characters From A String: Remove from one string any character in a second | string | exercise solution codepad |
| 436 | 30 Apr 2013 | First Unrepeated Character In A String: Find the first character that appears only once in a | string | exercise solution codepad |
| 203 | 18 Jan 2011 | Solitaire Cipher: Bruce Schneier’s | strong cryptography based on a deck of playing cards | exercise solution codepad |
| 390 | 13 Nov 2012 | Frobenius Primality Test: A pseudoprimality test, | stronger than Miller-Rabin | exercise solution codepad |
| 447 | 07 Jun 2013 | Sets: A classic data | structure and associated algorithms | exercise solution codepad |
| 73 | 02 Oct 2009 | Red-Black Trees: A purely functional dictionary data | structure based on approximately-balanced trees | exercise solution codepad |
| 157 | 10 Aug 2010 | Literate Programming: | Structured documentation in the style of Donald Knuth | exercise solution codepad |
| 124 | 02 Apr 2010 | Disjoint Sets: A data | structure for storing sets of items in disjoint partitions | exercise solution codepad |
| 321 | 09 Mar 2012 | Sparse Sets: Clever data | structure for storing sparse sets of small integers | exercise solution codepad |
| 85 | 13 Nov 2009 | Two linear sorts: Count sort and radix sort exploit the | structure of integer keys | exercise solution codepad |
| 45 | 26 Jun 2009 | Treaps: A randomized dictionary data | structure, provides in-order access to key | exercise solution codepad |
| 116 | 05 Mar 2010 | Binary Search Tree: Classic data | structure, providing insert, delete and lookup for ordered datatypes | exercise solution codepad |
| 171 | 28 Sep 2010 | Maxiphobic Heaps: A priority-queue data | structure, similar to leftist heaps, due to Chris Okasaki | exercise solution codepad |
| 369 | 28 Aug 2012 | Random Access Lists: A clever data | structure that provides O(log n) access to items in a sequential list, along with cons, head and tail | exercise solution codepad |
| 30 | 05 May 2009 | Priority Queues: A simple library implementation of the priority queue data | structure | exercise solution codepad |
| 489 | 29 Oct 2013 | Queues: Implement a basic data | structure | exercise solution codepad |
| 437 | 03 May 2013 | Pairing | Students: Create sets of students, each paired to the other only once | exercise solution codepad |
| 437 | 03 May 2013 | Pairing Students: Create sets of | students, each paired to the other only once | exercise solution codepad |
| 157 | 10 Aug 2010 | Literate Programming: Structured documentation in the | style of Donald Knuth | exercise solution codepad |
| 261 | 09 Aug 2011 | Hett’s Problem 1.28: Sorting a list of lists according to length of | sublists | exercise solution codepad |
| 266 | 26 Aug 2011 | Reverse Every K Nodes Of A Linked List: Reverse the elements of a | sub-list | exercise solution codepad |
| 81 | 30 Oct 2009 | Two | Sub-Quadratic Sorts: Comb sort and shell sort | exercise solution codepad |
| 160 | 20 Aug 0 | Marriage Sort: A | sub-quadratic sort similar to shell sort or comb sort | exercise solution codepad |
| 40 | 09 Jun 2009 | Longest Common | Subsequence: A classic programming algorithm, with a solution that dates to folklore | exercise solution codepad |
| 190 | 03 Dec 2010 | Maximum Sum | Subsequence: A classic programming exercise due to Jon Bentley | exercise solution codepad |
| 401 | 21 Dec 2012 | Building Primes: Build the largest prime with all right-most | subsequences also prime | exercise solution codepad |
| 288 | 15 Nov 2011 | Phil Harvey’s Puzle: partition {1,…,16} into two sets of equal size so each | subset has the same sum, sum of squares and sum of cubes | exercise solution codepad |
| 187 | 23 Nov 2010 | String Subsets: Determine if one string is a | subset of another | exercise solution codepad |
| 187 | 23 Nov 2010 | String | Subsets: Determine if one string is a subset of another | exercise solution codepad |
| 327 | 30 Mar 2012 | Subset Sum, Meet In The Middle: An improved solution to the classic NP problem | exercise solution codepad | |
| 326 | 27 Mar 2012 | Subset Sum: Solve a classic NP problem using dynamic programming | exercise solution codepad | |
| 183 | 09 Nov 2010 | Subset Sums: Third level of the Greplin Programming Challenge, using dynamic programming and memoization | exercise solution codepad | |
| 50 | 14 Jul 2009 | The Daily Cryptogram: Solve a monoalphabetic | substitution cipher | exercise solution codepad |
| 448 | 11 Jun 2013 | Longest | Substring Of Two Unique Characters: Longest run of consecutive characters in a string that contains only two unique characters | exercise solution codepad |
| 193 | 14 Dec 2010 | Longest Duplicated | Substring: Use a sorted suffix list | exercise solution codepad |
| 241 | 31 May 2011 | Big Numbers: Addition, | Subtraction And Multiplication: A library for big integers: grade-school algorithms for addition, subtraction, and multiplication | exercise solution codepad |
| 241 | 31 May 2011 | Big Numbers: Addition, Subtraction And Multiplication: A library for big integers: grade-school algorithms for addition, | subtraction, and multiplication | exercise solution codepad |
| 48 | 07 Jul 2009 | Modular Arithmetic: A function library for performing modular addition, | subtraction, multiplication, division, and square root | exercise solution codepad |
| 320 | 06 Mar 2012 | Union Route Cipher: Military cipher used | successfully by Union forces in the American Civil War | exercise solution codepad |
| 414 | 12 Feb 2013 | Binary Search Tree: In-Order Predecessor And | Successor: Find the previous and next items in a tree | exercise solution codepad |
| 463 | 06 Aug 2013 | Sophie Germain Primes: Primes p | such that 2p+1 is also prime | exercise solution codepad |
| 197 | 28 Dec 2010 | Carmichael Numbers: Composite numbers | such that an-1 ≡ 1 (mod n) if a is prime to n | exercise solution codepad |
| 4 | 19 Feb 2009 | Sudoku: A backtracking solution to everybody’s favorite puzzle | exercise solution codepad | |
| 66 | 08 Sep 2009 | Porter Stemming: Martin Porter’s algorithm for removing | suffices from word stems | exercise solution codepad |
| 193 | 14 Dec 2010 | Longest Duplicated Substring: Use a sorted | suffix list | exercise solution codepad |
| 97 | 29 Dec 2009 | A Statisticle Speling Korrecter: Peter Norvig’s version of the Google spelling | suggester | exercise solution codepad |
| 70 | 22 Sep 2009 | Regular Expressions, Part 3: A regular expression test | suite | exercise solution codepad |
| 281 | 21 Oct 2011 | Sum, Revisited: SysV and Berkeley versions of the Unix V7 | sum command | exercise solution codepad |
| 188 | 26 Nov 2010 | Divisors And Totatives: The number-theoretic functions divisors, numdivs, | sumdivs, totatives, and totient | exercise solution codepad |
| 153 | 27 Jul 2010 | HAMURABI.BAS: Manage grain and land in ancient | Sumeria | exercise solution codepad |
| 327 | 30 Mar 2012 | Subset | Sum, Meet In The Middle: An improved solution to the classic NP problem | exercise solution codepad |
| 288 | 15 Nov 2011 | Phil Harvey’s Puzle: partition {1,…,16} into two sets of equal size so each subset has the same sum, sum of squares and | sum of cubes | exercise solution codepad |
| 288 | 15 Nov 2011 | Phil Harvey’s Puzle: partition {1,…,16} into two sets of equal size so each subset has the same sum, | sum of squares and sum of cubes | exercise solution codepad |
| 323 | 16 Mar 2012 | Sum Of Squares Of Two Largest Of Three Values: A simple problem from SICP with a variety of solutions | exercise solution codepad | |
| 373 | 11 Sep 2012 | The | Sum Of The First Billion Primes: Write a prime generator, and use it | exercise solution codepad |
| 152 | 23 Jul 2010 | Happy Numbers: Iterating the | sum of the squares of the digits terminates with one | exercise solution codepad |
| 255 | 19 Jul 2011 | Sum Of Two Integers: Determine if two integers in a list sum to a target | exercise solution codepad | |
| 194 | 17 Dec 2010 | Polite Numbers: Write numbers as the | sum of two or more consecutive integers | exercise solution codepad |
| 115 | 02 Mar 2010 | Goldbach’s Conjecture: Every even number greater than two can be written as the | sum of two primes | exercise solution codepad |
| 99 | 05 Jan 2010 | The | Sum Of Two Squares: A math puzzle with a solution by Dijkstra | exercise solution codepad |
| 383 | 19 Oct 2012 | Prime Partitions: Compute the number of ways to | sum primes to a target | exercise solution codepad |
| 281 | 21 Oct 2011 | Sum, Revisited: SysV and Berkeley versions of the Unix V7 sum command | exercise solution codepad | |
| 210 | 11 Feb 2011 | Sums Of Powers: Use Bernoulli numbers to quickly compute | sums of powers | exercise solution codepad |
| 210 | 11 Feb 2011 | Sums Of Powers: Use Bernoulli numbers to quickly compute sums of powers | exercise solution codepad | |
| 326 | 27 Mar 2012 | Subset | Sum: Solve a classic NP problem using dynamic programming | exercise solution codepad |
| 386 | 30 Oct 2012 | Pandigital Numbers: Find | sums that include all ten digits | exercise solution codepad |
| 183 | 09 Nov 2010 | Subset | Sums: Third level of the Greplin Programming Challenge, using dynamic programming and memoization | exercise solution codepad |
| 340 | 15 May 2012 | Streaming Knapsack: Find first possible combination from a stream that | sums to a given integer | exercise solution codepad |
| 190 | 03 Dec 2010 | Maximum | Sum Subsequence: A classic programming exercise due to Jon Bentley | exercise solution codepad |
| 288 | 15 Nov 2011 | Phil Harvey’s Puzle: partition {1,…,16} into two sets of equal size so each subset has the same | sum, sum of squares and sum of cubes | exercise solution codepad |
| 222 | 25 Mar 2011 | Sum: The standard Unix V7 file-checksum command | exercise solution codepad | |
| 339 | 11 May 2012 | partitions: Sets of integers that | sum to a given integer | exercise solution codepad |
| 359 | 24 Jul 2012 | Zeckendorf Representation: Find the fibonacci numbers that | sum to a given number | exercise solution codepad |
| 255 | 19 Jul 2011 | Sum Of Two Integers: Determine if two integers in a list | sum to a target | exercise solution codepad |
| 365 | 14 Aug 2012 | 4SUM: Find four numbers in an array that | sum to zero | exercise solution codepad |
| 450 | 18 Jun 2013 | 3SUM: A classic of computer science: find three numbers in an array that | sum to zero | exercise solution codepad |
| 257 | 26 Jul 2011 | More Prime-Counting Functions: Prime counting functions by Meissel and Lehmer, based on Legendre’s | sum | exercise solution codepad |
| 278 | 07 Oct 2011 | Sieve of | Sundaram: Sieving for prime numbers using a method from India | exercise solution codepad |
| 416 | 19 Feb 2013 | NPR | Sunday Puzzle: Find two words containing the letters a, b, c, d, e and f | exercise solution codepad |
| 455 | 05 Jul 2013 | Weekdays Between Two Dates: Number of days between two dates, excluding Saturday and | Sunday | exercise solution codepad |
| 88 | 24 Nov 2009 | Sunrise, Sunset: Calculate the times of | sunrise and sunset on any day anywhere in the world | exercise solution codepad |
| 88 | 24 Nov 2009 | Sunrise, Sunset: Calculate the times of sunrise and sunset on any day anywhere in the world | exercise solution codepad | |
| 88 | 24 Nov 2009 | Sunrise, | Sunset: Calculate the times of sunrise and sunset on any day anywhere in the world | exercise solution codepad |
| 88 | 24 Nov 2009 | Sunrise, Sunset: Calculate the times of sunrise and | sunset on any day anywhere in the world | exercise solution codepad |
| 312 | 07 Feb 2012 | Solar Compass: Determine North by sighting the | Sun | exercise solution codepad |
| 347 | 12 Jun 2012 | Ordered Maps: A key/value dictionary that | supports an ordering relationship | exercise solution codepad |
| 158 | 13 Aug 2010 | E: A simple simulation with a | surprising ending | exercise solution codepad |
| 485 | 25 Oct 2013 | Pessimal Algorithms And Simplexity Analysis: The slowsort algorithm using the multiply and | surrender algorithms | exercise solution codepad |
| 452 | 25 Jun 2013 | Swap List Nodes: Swap the kth node from the beginning of a list with the kth node from the end of a list | exercise solution codepad | |
| 452 | 25 Jun 2013 | Swap List Nodes: | Swap the kth node from the beginning of a list with the kth node from the end of a list | exercise solution codepad |
| 336 | 01 May 2012 | Legendre’s | Symbol: Determine if a number is a quadratic residue mod m | exercise solution codepad |
| 422 | 12 Mar 2013 | An Array Of Two | Symbols: A learning experience for binary search | exercise solution codepad |
| 44 | 23 Jun 2009 | The Mod Out | System: Expand a series of ranges | exercise solution codepad |
| 74 | 06 Oct 2009 | MapReduce: Google’s famous | system for parallelizing computations expressed as a programming idiom | exercise solution codepad |
| 42 | 16 Jun 2009 | Who Owns The Zebra?: A logic puzzle, solved by embedding a Prolog-like logic | system in Scheme | exercise solution codepad |
| 151 | 20 Jul 2010 | Solving | Systems Of Linear Equations: Matrix operations LU-decomposition and LUP-decomposition | exercise solution codepad |
| 185 | 16 Nov 2010 | RSA Cryptography: The original public-key cryptographic | system, still in wide use | exercise solution codepad |
| 244 | 10 Jun 2011 | Steganography: A hand-operable | system that combines cryptography and steganography | exercise solution codepad |
| 207 | 01 Feb 2011 | Cuckoo Hashing: A hashing | system with guaranteed constant-time lookup and amortized constant-time insertion | exercise solution codepad |
| 281 | 21 Oct 2011 | Sum, Revisited: | SysV and Berkeley versions of the Unix V7 sum command | exercise solution codepad |
| 148 | 09 Jul 2010 | Contents: Permuted | Table Of Contents: Blog management | exercise solution codepad |
| 338 | 08 May 2012 | Factor Tables: | Table of factors of integers | exercise solution codepad |
| 456 | 12 Jul 2013 | Dynamic Hash | Tables: Hash tables that grow and contract automatically to maintain a constant load factor | exercise solution codepad |
| 462 | 02 Aug 2013 | Ordered Hash | Tables: Knuth’s improvement to simple hash tables | exercise solution codepad |
| 276 | 30 Sep 2011 | Logarithm Tables: Print old-fashioned | tables of logarithms and anti-logarithms | exercise solution codepad |
| 276 | 30 Sep 2011 | Logarithm | Tables: Print old-fashioned tables of logarithms and anti-logarithms | exercise solution codepad |
| 338 | 08 May 2012 | Factor | Tables: Table of factors of integers | exercise solution codepad |
| 456 | 12 Jul 2013 | Dynamic Hash Tables: Hash | tables that grow and contract automatically to maintain a constant load factor | exercise solution codepad |
| 462 | 02 Aug 2013 | Ordered Hash Tables: Knuth’s improvement to simple hash | tables | exercise solution codepad |
| 368 | 24 Aug 2012 | Hash Tables With Open Addressing: An alternative to hash | tables with chaining for collision resolution | exercise solution codepad |
| 368 | 24 Aug 2012 | Hash | Tables With Open Addressing: An alternative to hash tables with chaining for collision resolution | exercise solution codepad |
| 32 | 12 May 2009 | Loan Amortization: Calculate and print a simple loan amortization | table | exercise solution codepad |
| 372 | 07 Sep 2012 | The First Two Programs: Hello World and a fahrenheit / celsius conversion | table | exercise solution codepad |
| 234 | 06 May 2011 | Entab And Detab: expand | tabs into spaces, and replace spaces with tabs | exercise solution codepad |
| 234 | 06 May 2011 | Entab And Detab: expand tabs into spaces, and replace spaces with | tabs | exercise solution codepad |
| 407 | 15 Jan 2013 | Translate CSV To Html: Convert between | tabular storage forms | exercise solution codepad |
| 369 | 28 Aug 2012 | Random Access Lists: A clever data structure that provides O(log n) access to items in a sequential list, along with cons, head and | tail | exercise solution codepad |
| 388 | 06 Nov 2012 | Fix Something Annoying: | Take control of your computing environment by fixing something that annoys you | exercise solution codepad |
| 154 | 30 Jul 2010 | Fibonacci Numbers: Three algorithms | taking exponential time, linear time, and logarithmic time | exercise solution codepad |
| 255 | 19 Jul 2011 | Sum Of Two Integers: Determine if two integers in a list sum to a | target | exercise solution codepad |
| 383 | 19 Oct 2012 | Prime Partitions: Compute the number of ways to sum primes to a | target | exercise solution codepad |
| 18 | 23 Mar 2009 | Binary Search: A simple | task, easy to get wrong | exercise solution codepad |
| 389 | 09 Nov 2012 | Taxicab Numbers: Confirm an interesting observation of Srinivasa Ramanujan | exercise solution codepad | |
| 101 | 12 Jan 2010 | Calculating Sines: Calculate sines using | Taylor series and the triple-angle formula, by Bill Cruise | exercise solution codepad |
| 28 | 28 Apr 2009 | Morse Code: Translating the dots-and-dashes of Samuel Finley Breese Morse’s | telegraph code | exercise solution codepad |
| 459 | 23 Jul 2013 | Telephone Lookup: A directory-assistance program by Mike Lesk | exercise solution codepad | |
| 296 | 13 Dec 2011 | Validating | Telephone Numbers: An exercise in input validation | exercise solution codepad |
| 386 | 30 Oct 2012 | Pandigital Numbers: Find sums that include all | ten digits | exercise solution codepad |
| 152 | 23 Jul 2010 | Happy Numbers: Iterating the sum of the squares of the digits | terminates with one | exercise solution codepad |
| 39 | 05 Jun 2009 | Ternary Search Tries: Build a function library for handling ternary search tries | exercise solution codepad | |
| 39 | 05 Jun 2009 | Ternary Search Tries: Build a function library for handling | ternary search tries | exercise solution codepad |
| 420 | 05 Mar 2013 | Dutch National Flag: Classic | ternary sort by Edsgar Dijkstra | exercise solution codepad |
| 419 | 01 Mar 2013 | Baillie-Wagstaff Pseudoprimality Tester: Primality | test, an improvement over the Miller-Rabin test | exercise solution codepad |
| 390 | 13 Nov 2012 | Frobenius Primality | Test: A pseudoprimality test, stronger than Miller-Rabin | exercise solution codepad |
| 475 | 20 Sep 2013 | McCarthy’s 91 Function: A recursive function designed as a | test case for formal verification | exercise solution codepad |
| 419 | 01 Mar 2013 | Baillie-Wagstaff Pseudoprimality | Tester: Primality test, an improvement over the Miller-Rabin test | exercise solution codepad |
| 242 | 03 Jun 2011 | Mersenne Primes: The Lucas-Lehmer | test for identifying primes of the form 2n−1 | exercise solution codepad |
| 247 | 21 Jun 2011 | Big Numbers: | Testing: A library for big integers: testing | exercise solution codepad |
| 252 | 08 Jul 2011 | Vedic Divisibility: Use a method of | testing divisibility using the method of osculators developed in India | exercise solution codepad |
| 247 | 21 Jun 2011 | Big Numbers: Testing: A library for big integers: | testing | exercise solution codepad |
| 343 | 25 May 2012 | Ackermann’s Function: A fast-growing function that | tests recursion | exercise solution codepad |
| 390 | 13 Nov 2012 | Frobenius Primality Test: A pseudoprimality | test, stronger than Miller-Rabin | exercise solution codepad |
| 70 | 22 Sep 2009 | Regular Expressions, Part 3: A regular expression | test suite | exercise solution codepad |
| 419 | 01 Mar 2013 | Baillie-Wagstaff Pseudoprimality Tester: Primality test, an improvement over the Miller-Rabin | test | exercise solution codepad |
| 271 | 13 Sep 2011 | Tetrahedral Numbers: Find the base of the tetrahedron that contains 169179692512835000 balls | exercise solution codepad | |
| 271 | 13 Sep 2011 | Tetrahedral Numbers: Find the base of the | tetrahedron that contains 169179692512835000 balls | exercise solution codepad |
| 121 | 23 Mar 2010 | Texas Hold ‘Em: Find the best poker hand | exercise solution codepad | |
| 61 | 21 Aug 2009 | String Search: Brute Force: Search for a pattern in a text by comparing the pattern to the | text at all possible positions | exercise solution codepad |
| 61 | 21 Aug 2009 | String Search: Brute Force: Search for a pattern in a | text by comparing the pattern to the text at all possible positions | exercise solution codepad |
| 177 | 19 Oct 2010 | Text File Databases: Part 1: Functions to read records with fields in various formats | exercise solution codepad | |
| 178 | 22 Oct 2010 | Text File Databases: Part 2: Various functions to process records with fields | exercise solution codepad | |
| 179 | 26 Oct 2010 | Benford’s Law: A useful mathematical oddity, and an example of | text file databases | exercise solution codepad |
| 114 | 26 Feb 2010 | Run Length Encoding: A simple compression method for | text files | exercise solution codepad |
| 139 | 08 Jun 2010 | Diff: Find the differences between two | text files | exercise solution codepad |
| 382 | 16 Oct 2012 | Version Control: Economically store multiple versions of | text files | exercise solution codepad |
| 91 | 04 Dec 2009 | Autokey: A cipher in which the input | text forms part of the key | exercise solution codepad |
| 27 | 24 Apr 2009 | Word Hy-phen-a-tion By Com-pu-ter: Frank Liang’s hyphenation algorithm, used in | TeX | exercise solution codepad |
| 454 | 02 Jul 2013 | Decoding | Text-Speak: Expnd txt wth only intl vwls and n dbld ltrs | exercise solution codepad |
| 63 | 28 Aug 2009 | String Search: Boyer-Moore: Search for a pattern in a | text using a fast and simple algorithm | exercise solution codepad |
| 11 | 27 Feb 2009 | Mark V. Shaney: Generate parodies of a | text using a Markov chain | exercise solution codepad |
| 62 | 25 Aug 2009 | String Search: Knuth-Morris-Pratt: Search for a pattern in a | text using an O(n) algorithm | exercise solution codepad |
| 267 | 30 Aug 2011 | Hamming Numbers: List the numbers with no factors greater | than 5, a classic problem popularized by Dijkstra | exercise solution codepad |
| 122 | 26 Mar 2010 | The Next Prime: Efficiently find the next prime number larger | than a given number | exercise solution codepad |
| 256 | 22 Jul 2011 | Counting Primes Using Legendre’s Formula: Recreate Legendre’s two-century old calculation of the number of primes less | than a million | exercise solution codepad |
| 248 | 24 Jun 2011 | Thank God It’s Friday!: Three methods to calculate the day of the week | exercise solution codepad | |
| 390 | 13 Nov 2012 | Frobenius Primality Test: A pseudoprimality test, stronger | than Miller-Rabin | exercise solution codepad |
| 348 | 15 Jun 2012 | Counting Ones: Count the number of 1-digits in the numbers less | than n | exercise solution codepad |
| 237 | 17 May 2011 | Two Bad Sorts: Stooge sort and bogosort are worse | than quadratic | exercise solution codepad |
| 35 | 22 May 2009 | The Next Palindrome: Find the next palindromic number greater | than the input number | exercise solution codepad |
| 318 | 28 Feb 2012 | Next Greater Permutation Of Digits: Find the smallest number larger | than the input number using the same digits as the input number | exercise solution codepad |
| 272 | 16 Sep 2011 | Pollard’s P−1 Factorization Algoritihm, Revisited: An improved second stage that is much faster | than the original | exercise solution codepad |
| 115 | 02 Mar 2010 | Goldbach’s Conjecture: Every even number greater | than two can be written as the sum of two primes | exercise solution codepad |
| 181 | 02 Nov 2010 | Emirps: Prime numbers that are prime when | their digits are reversed, but not palindromic | exercise solution codepad |
| 403 | 28 Dec 2012 | Three Wise Men: Find the prices of | their gifts | exercise solution codepad |
| 186 | 19 Nov 2010 | Topological Sort: Order the edges of a graph by | their precedence relationship | exercise solution codepad |
| 150 | 16 Jul 2010 | Contents: | Themes: Blog Management | exercise solution codepad |
| 287 | 11 Nov 2011 | Generators: Write functions that yield a value, but can | then be re-entered | exercise solution codepad |
| 236 | 13 May 2011 | Dixon’s Factorization Algorithm: A slow, but | theoretically important, algorithm for integer factorization | exercise solution codepad |
| 375 | 18 Sep 2012 | ABC Conjecture: Demonstrate a recently-proved conjecture of number | theory | exercise solution codepad |
| 322 | 13 Mar 2012 | Perfect Power Predicate: Given a positive integer n, determine if | there exists a b and e for which be = n | exercise solution codepad |
| 344 | 00 May 2012 | Streaming Median: Find the medians of a set of numbers as | they arrive in a stream | exercise solution codepad |
| 183 | 09 Nov 2010 | Subset Sums: | Third level of the Greplin Programming Challenge, using dynamic programming and memoization | exercise solution codepad |
| 304 | 10 Jan 2012 | Thirteen Anagram: 12+1=11+2 and “twelve plus one equals eleven plus two” are both anagrams | exercise solution codepad | |
| 15 | 13 Mar 2009 | Friday, the | Thirteenth: A small calendar library, and a simple use of it | exercise solution codepad |
| 273 | 20 Sep 2011 | Project Euler Problem 3: | Thorough explanation of integer factorization by trial division | exercise solution codepad |
| 154 | 30 Jul 2010 | Fibonacci Numbers: | Three algorithms taking exponential time, linear time, and logarithmic time | exercise solution codepad |
| 102 | 15 Jan 2010 | Three Binary Algorithms: Multiplication, division and greatest common divisor using binary arithmetic | exercise solution codepad | |
| 51 | 17 Jul 2009 | International Mathematical Olympiad: | Three exercises from 1960s math competitions | exercise solution codepad |
| 439 | 10 May 2013 | MindCipher: | Three exercises from the MindCipher puzzle website | exercise solution codepad |
| 468 | 23 Aug 2013 | Three Interview Questions: Three interview questions | exercise solution codepad | |
| 468 | 23 Aug 2013 | Three Interview Questions: | Three interview questions | exercise solution codepad |
| 438 | 07 May 2013 | Three List Exercises: Three simple exercises on lists, for beginning programmers | exercise solution codepad | |
| 248 | 24 Jun 2011 | Thank God It’s Friday!: | Three methods to calculate the day of the week | exercise solution codepad |
| 450 | 18 Jun 2013 | 3SUM: A classic of computer science: find | three numbers in an array that sum to zero | exercise solution codepad |
| 408 | 18 Jan 2013 | Triangle Trilemma: Determine if | three points form a triangle, and classify it | exercise solution codepad |
| 80 | 27 Oct 2009 | Three Quadratic Sorts: Bubble sort, selection sort and insertion sort | exercise solution codepad | |
| 438 | 07 May 2013 | Three List Exercises: | Three simple exercises on lists, for beginning programmers | exercise solution codepad |
| 211 | 15 Feb 2011 | Google Code Jam Qualification Round Africa 2010: | Three simple exercises | exercise solution codepad |
| 323 | 16 Mar 2012 | Sum Of Squares Of Two Largest Of | Three Values: A simple problem from SICP with a variety of solutions | exercise solution codepad |
| 403 | 28 Dec 2012 | Three Wise Men: Find the prices of their gifts | exercise solution codepad | |
| 246 | 17 Jun 2011 | Adi Shamir’s | Threshold Scheme: Use cryptography to share a secret, by Graham Enos | exercise solution codepad |
| 129 | 20 Apr 2010 | 145 Puzzle: Build and evaluate expressions using the digits one | through nine and the simple arithmetic operators | exercise solution codepad |
| 154 | 30 Jul 2010 | Fibonacci Numbers: Three algorithms taking exponential time, linear | time, and logarithmic time | exercise solution codepad |
| 426 | 26 Mar 2013 | Google Code Jam Qualification Round Africa 2010, Revisited: Four solutions to a Google programming exercise, with various | time complexities | exercise solution codepad |
| 303 | 06 Jan 2012 | Pritchard’s Wheel Sieve: An alternative to the Sieve of Eratosthenes with a faster asymptotic | time complexity | exercise solution codepad |
| 376 | 21 Sep 2012 | Autumn Equinox: Calculate the length of the day; provides a | time-handling library | exercise solution codepad |
| 464 | 09 Aug 2013 | Bit Hacks: A | time-honored tradition, and useful | exercise solution codepad |
| 467 | 20 Aug 2013 | More Bit Hacks: A | time-honored tradition, and useful | exercise solution codepad |
| 471 | 03 Sep 2013 | Yet More Bit Hacks: A | time-honored tradition, and useful | exercise solution codepad |
| 154 | 30 Jul 2010 | Fibonacci Numbers: Three algorithms taking exponential | time, linear time, and logarithmic time | exercise solution codepad |
| 128 | 16 Apr 2010 | Expression Evaluation: Parse and evaluate an arithmetic expression with plus, minus, | times, divide and parentheses | exercise solution codepad |
| 88 | 24 Nov 2009 | Sunrise, Sunset: Calculate the | times of sunrise and sunset on any day anywhere in the world | exercise solution codepad |
| 154 | 30 Jul 2010 | Fibonacci Numbers: Three algorithms taking exponential time, linear time, and logarithmic | time | exercise solution codepad |
| 353 | 03 Jul 2012 | Chopping Words: Form a chain of words by removing letters one at a | time | exercise solution codepad |
| 360 | 27 Jul 2012 | Min Stack: Provide push and pop operations and find the minimum element in linear | time | exercise solution codepad |
| 36 | 26 May 2009 | Word Search Solver: A computerized implementation of a popular | time-waster | exercise solution codepad |
| 238 | 20 May 0 | ISBN Validation: Validate ISBN book numbers, and fetch author and | title from the internet | exercise solution codepad |
| 393 | 23 Nov 2012 | Tonelli-Shanks Algorithm: Compute modular square roots | exercise solution codepad | |
| 82 | 03 Nov 2009 | Quick Sort: | Tony Hoare’s divide-and-conquer sorting algorithm | exercise solution codepad |
| 283 | 28 Oct 2011 | Crypt: Simple encryption | tool from Kernighan and Plauger | exercise solution codepad |
| 186 | 19 Nov 2010 | Topological Sort: Order the edges of a graph by their precedence relationship | exercise solution codepad | |
| 301 | 30 Dec 2011 | Split: Split a list in two halves using the | tortoise-and-hare algorithm | exercise solution codepad |
| 188 | 26 Nov 2010 | Divisors And Totatives: The number-theoretic functions divisors, numdivs, sumdivs, | totatives, and totient | exercise solution codepad |
| 188 | 26 Nov 2010 | Divisors And | Totatives: The number-theoretic functions divisors, numdivs, sumdivs, totatives, and totient | exercise solution codepad |
| 355 | 10 Jul 2012 | Sieve For | Totients: Find the totients of a large range of integers using a sieve | exercise solution codepad |
| 355 | 10 Jul 2012 | Sieve For Totients: Find the | totients of a large range of integers using a sieve | exercise solution codepad |
| 188 | 26 Nov 2010 | Divisors And Totatives: The number-theoretic functions divisors, numdivs, sumdivs, totatives, and | totient | exercise solution codepad |
| 118 | 12 Mar 2010 | Traveling Salesman: Brute Force: Examine all possible permutations to find the least-cost | tour | exercise solution codepad |
| 127 | 13 Apr 2010 | Traveling Salesman: Minimum Spanning Tree: Heuristic guarantees solution within factor of two of optimal | tour | exercise solution codepad |
| 293 | 02 Dec 2011 | Knight Rider: Classic problem of the knight’s | tour | exercise solution codepad |
| 279 | 11 Oct 2011 | Tower Of Hanoi: Classic demonstration of recursion | exercise solution codepad | |
| 335 | 27 Apr 2012 | Trabb Pardo Knuth Algorithm: Trivial algorithm, used to explore an unfamiliar language | exercise solution codepad | |
| 196 | 24 Dec 2010 | Tracking Santa: How far does Santa travel on his annual journey? | exercise solution codepad | |
| 464 | 09 Aug 2013 | Bit Hacks: A time-honored | tradition, and useful | exercise solution codepad |
| 467 | 20 Aug 2013 | More Bit Hacks: A time-honored | tradition, and useful | exercise solution codepad |
| 471 | 03 Sep 2013 | Yet More Bit Hacks: A time-honored | tradition, and useful | exercise solution codepad |
| 407 | 15 Jan 2013 | Translate CSV To Html: Convert between tabular storage forms | exercise solution codepad | |
| 28 | 28 Apr 2009 | Morse Code: | Translating the dots-and-dashes of Samuel Finley Breese Morse’s telegraph code | exercise solution codepad |
| 371 | 04 Sep 2012 | Fountain Codes: | Transmit files over a lossy channel | exercise solution codepad |
| 37 | 29 May 2009 | Double | Transposition Cipher: A simple and effective cipher, easy to perform by hand | exercise solution codepad |
| 20 | 31 Mar 2009 | Rail-Fence Cipher: A simple | transposition cipher | exercise solution codepad |
| 143 | 22 Jun 2010 | Matrix Operations: Matrix addition, scalar multiplication, multiplication and | transposition | exercise solution codepad |
| 109 | 09 Feb 2010 | Numerical Integration: Quadrature by the rectangular, | trapezoidal and Simpson’s method, including adaptive quadrature | exercise solution codepad |
| 118 | 12 Mar 2010 | Traveling Salesman: Brute Force: Examine all possible permutations to find the least-cost tour | exercise solution codepad | |
| 127 | 13 Apr 2010 | Traveling Salesman: Minimum Spanning Tree: Heuristic guarantees solution within factor of two of optimal tour | exercise solution codepad | |
| 119 | 16 Mar 2010 | Traveling Salesman: Nearest Neighbor: A greedy heuristic that builds a path by always choosing the nearest unvisited point | exercise solution codepad | |
| 196 | 24 Dec 2010 | Tracking Santa: How far does Santa | travel on his annual journey? | exercise solution codepad |
| 483 | 18 Oct 2013 | Binary Tree | Traversal: Traverse a binary tree in pre-order and post-order | exercise solution codepad |
| 483 | 18 Oct 2013 | Binary Tree Traversal: | Traverse a binary tree in pre-order and post-order | exercise solution codepad |
| 45 | 26 Jun 2009 | Treaps: A randomized dictionary data structure, provides in-order access to key | exercise solution codepad | |
| 24 | 14 Apr 2009 | Treasure Hunt 2008 Puzzle 4: A prime-number puzzle | exercise solution codepad | |
| 116 | 05 Mar 2010 | Binary Search | Tree: Classic data structure, providing insert, delete and lookup for ordered datatypes | exercise solution codepad |
| 127 | 13 Apr 2010 | Traveling Salesman: Minimum Spanning | Tree: Heuristic guarantees solution within factor of two of optimal tour | exercise solution codepad |
| 414 | 12 Feb 2013 | Binary Search | Tree: In-Order Predecessor And Successor: Find the previous and next items in a tree | exercise solution codepad |
| 483 | 18 Oct 2013 | Binary Tree Traversal: Traverse a binary | tree in pre-order and post-order | exercise solution codepad |
| 125 | 06 Apr 2010 | Minimum Spanning | Tree: Kruskal’s Algorithm: Find the minimum-cost tree that includes all the nodes in a graph | exercise solution codepad |
| 126 | 09 Apr 2010 | Minimum Spanning | Tree: Prim’s Algorithm: Find the minimum-cost tree that includes all the nodes in a graph | exercise solution codepad |
| 73 | 02 Oct 2009 | Red-Black | Trees: A purely functional dictionary data structure based on approximately-balanced trees | exercise solution codepad |
| 291 | 25 Nov 2011 | AVL | Trees: Basic implementation of the original balanced-tree algorithm | exercise solution codepad |
| 292 | 29 Nov 2011 | AVL | Trees, Extended: Add additional functionality to AVL trees | exercise solution codepad |
| 155 | 03 Aug 2010 | Carl Hewitt’s Same-Fringe Problem: Do two | trees have the same leaves, solved with streams (lazy lists) | exercise solution codepad |
| 292 | 29 Nov 2011 | AVL Trees, Extended: Add additional functionality to AVL | trees | exercise solution codepad |
| 73 | 02 Oct 2009 | Red-Black Trees: A purely functional dictionary data structure based on approximately-balanced | trees | exercise solution codepad |
| 125 | 06 Apr 2010 | Minimum Spanning Tree: Kruskal’s Algorithm: Find the minimum-cost | tree that includes all the nodes in a graph | exercise solution codepad |
| 126 | 09 Apr 2010 | Minimum Spanning Tree: Prim’s Algorithm: Find the minimum-cost | tree that includes all the nodes in a graph | exercise solution codepad |
| 218 | 11 Mar 2011 | Lowest Common Ancestor: Find the lowest node in a binary search | tree that is a common ancestor to two given nodes | exercise solution codepad |
| 483 | 18 Oct 2013 | Binary | Tree Traversal: Traverse a binary tree in pre-order and post-order | exercise solution codepad |
| 414 | 12 Feb 2013 | Binary Search Tree: In-Order Predecessor And Successor: Find the previous and next items in a | tree | exercise solution codepad |
| 132 | 30 Apr 2010 | Integer Factorization: Combine | trial division, Pollard’s rho and p−1 methods, and elliptic curves into a single factorization program | exercise solution codepad |
| 273 | 20 Sep 2011 | Project Euler Problem 3: Thorough explanation of integer factorization by | trial division | exercise solution codepad |
| 31 | 08 May 2009 | Wheel Factorization: Find the factors of a number by a variant of | trial division | exercise solution codepad |
| 408 | 18 Jan 2013 | Triangle Trilemma: Determine if three points form a | triangle, and classify it | exercise solution codepad |
| 103 | 19 Jan 2010 | Flight Planning: Computing the navigation | triangle, by Jos Koot | exercise solution codepad |
| 294 | 06 Dec 2011 | Pascal’s | Triangle: Display the binomial coefficients | exercise solution codepad |
| 408 | 18 Jan 2013 | Triangle Trilemma: Determine if three points form a triangle, and classify it | exercise solution codepad | |
| 374 | 14 Sep 2012 | Tribonacci Numbers: A variant of fibonacci numbers | exercise solution codepad | |
| 175 | 12 Oct 2010 | Rotate An Array: A simple but | tricky exercise solved by an algorithm from the folklore of computing | exercise solution codepad |
| 53 | 24 Jul 2009 | Let’s Make A Deal!: Simulate a | tricky probability calculation | exercise solution codepad |
| 25 | 17 Apr 2009 | Spell Checking: A spell-checker in a | trie-based dictionary | exercise solution codepad |
| 39 | 05 Jun 2009 | Ternary Search | Tries: Build a function library for handling ternary search tries | exercise solution codepad |
| 39 | 05 Jun 2009 | Ternary Search Tries: Build a function library for handling ternary search | tries | exercise solution codepad |
| 408 | 18 Jan 2013 | Triangle | Trilemma: Determine if three points form a triangle, and classify it | exercise solution codepad |
| 101 | 12 Jan 2010 | Calculating Sines: Calculate sines using Taylor series and the | triple-angle formula, by Bill Cruise | exercise solution codepad |
| 165 | 07 Sep 2010 | Data Encryption Standard: Part 3: | Triple DES and cryptographic hashing | exercise solution codepad |
| 385 | 26 Oct 2012 | Pythatorean Triples: Generate primitive pythagorean | triples by an ancient algorithm | exercise solution codepad |
| 385 | 26 Oct 2012 | Pythatorean | Triples: Generate primitive pythagorean triples by an ancient algorithm | exercise solution codepad |
| 335 | 27 Apr 2012 | Trabb Pardo Knuth Algorithm: | Trivial algorithm, used to explore an unfamiliar language | exercise solution codepad |
| 277 | 04 Oct 2011 | Brainfuck: Interpreter for a | Turing-line language | exercise solution codepad |
| 21 | 03 Apr 2009 | Programming the | Turing Machine: A turing-machine program to multiply two numbers | exercise solution codepad |
| 21 | 03 Apr 2009 | Programming the Turing Machine: A | turing-machine program to multiply two numbers | exercise solution codepad |
| 19 | 27 Mar 2009 | A | Turing Machine Simulator: An interpreter for a single-tape, multi-symbol turing machine | exercise solution codepad |
| 19 | 27 Mar 2009 | A Turing Machine Simulator: An interpreter for a single-tape, multi-symbol | turing machine | exercise solution codepad |
| 302 | 03 Jan 2012 | Turtle Graphics: A minimal library of turtle graphics, as in the Logo language, implemented in PostScript | exercise solution codepad | |
| 302 | 03 Jan 2012 | Turtle Graphics: A minimal library of | turtle graphics, as in the Logo language, implemented in PostScript | exercise solution codepad |
| 402 | 25 Dec 2012 | The | Twelve Days of Christmas: Count the gifts of Christmas | exercise solution codepad |
| 98 | 01 Jan 2010 | Cal: Print a | twelve-month calendar | exercise solution codepad |
| 304 | 10 Jan 2012 | Thirteen Anagram: 12+1=11+2 and | “twelve plus one equals eleven plus two” are both anagrams | exercise solution codepad |
| 332 | 17 Apr 2012 | Twin Primes: A variant of the Sieve of Eratosthenes to find pairs of primes that differ by two | exercise solution codepad | |
| 270 | 09 Sep 2011 | Mersenne | Twister: Random number generator with very long period, useful for simulations | exercise solution codepad |
| 391 | 16 Nov 2012 | List Intersection And Union: | Two algorithms on linked lists, with multiple solutions | exercise solution codepad |
| 349 | 19 Jun 2012 | Digits Of E: | Two algorithms that compute the digits of e, one bounded, the other unbounded | exercise solution codepad |
| 304 | 10 Jan 2012 | Thirteen Anagram: 12+1=11+2 and “twelve plus one equals eleven plus | two” are both anagrams | exercise solution codepad |
| 476 | 24 Sep 2013 | Finding Digit Strings In Powers Of | Two: A simple exercise from one of the competitive programming sites | exercise solution codepad |
| 367 | 21 Aug 2012 | Two More Random Exercises: | Two bad random number generators, the middle-square method and RANDU | exercise solution codepad |
| 237 | 17 May 2011 | Two Bad Sorts: Stooge sort and bogosort are worse than quadratic | exercise solution codepad | |
| 115 | 02 Mar 2010 | Goldbach’s Conjecture: Every even number greater than | two can be written as the sum of two primes | exercise solution codepad |
| 256 | 22 Jul 2011 | Counting Primes Using Legendre’s Formula: Recreate Legendre’s | two-century old calculation of the number of primes less than a million | exercise solution codepad |
| 430 | 09 Apr 2013 | Cyclic Equality: Determine if | two cyclic lists are equal | exercise solution codepad |
| 431 | 12 Apr 2013 | Booth’s Algorithm: Determine of | two cyclic lists are equal | exercise solution codepad |
| 455 | 05 Jul 2013 | Weekdays Between Two Dates: Number of days between | two dates, excluding Saturday and Sunday | exercise solution codepad |
| 455 | 05 Jul 2013 | Weekdays Between | Two Dates: Number of days between two dates, excluding Saturday and Sunday | exercise solution codepad |
| 366 | 17 Aug 2012 | Two Random Exercises: | Two exercises involving random numbers | exercise solution codepad |
| 212 | 18 Feb 2011 | Two Factoring Games: Home primes and the Euclid-Mullin sequence | exercise solution codepad | |
| 370 | 31 Aug 2012 | Once In A Blue Moon: Find months with | two full moons | exercise solution codepad |
| 378 | 02 Oct 2012 | AKS Primality Prover, Part 1: | Two functions used by the AKS primality prover | exercise solution codepad |
| 218 | 11 Mar 2011 | Lowest Common Ancestor: Find the lowest node in a binary search tree that is a common ancestor to | two given nodes | exercise solution codepad |
| 301 | 30 Dec 2011 | Split: Split a list in | two halves using the tortoise-and-hare algorithm | exercise solution codepad |
| 362 | 03 Aug 2012 | SEND + MORE = MONEY, Part 2: | Two hill-climbing solutions to a classic problem of recreational mathematics | exercise solution codepad |
| 255 | 19 Jul 2011 | Sum Of | Two Integers: Determine if two integers in a list sum to a target | exercise solution codepad |
| 255 | 19 Jul 2011 | Sum Of Two Integers: Determine if | two integers in a list sum to a target | exercise solution codepad |
| 201 | 11 Jan 2011 | Two Integrals: The exponential and logarithmic integral, and an approximation for prime-pi | exercise solution codepad | |
| 221 | 22 Mar 2011 | Two Kaprekar Exercises: Kaprekar chains and Kaprekar numbers, from the Indian mathematician Dattaraya Ramchandra Kaprekar | exercise solution codepad | |
| 323 | 16 Mar 2012 | Sum Of Squares Of | Two Largest Of Three Values: A simple problem from SICP with a variety of solutions | exercise solution codepad |
| 85 | 13 Nov 2009 | Two linear sorts: Count sort and radix sort exploit the structure of integer keys | exercise solution codepad | |
| 367 | 21 Aug 2012 | Two More Random Exercises: Two bad random number generators, the middle-square method and RANDU | exercise solution codepad | |
| 21 | 03 Apr 2009 | Programming the Turing Machine: A turing-machine program to multiply | two numbers | exercise solution codepad |
| 127 | 13 Apr 2010 | Traveling Salesman: Minimum Spanning Tree: Heuristic guarantees solution within factor of | two of optimal tour | exercise solution codepad |
| 194 | 17 Dec 2010 | Polite Numbers: Write numbers as the sum of | two or more consecutive integers | exercise solution codepad |
| 86 | 17 Nov 2009 | Master Mind, Part 1: Referee a | two-player game of deductive logic | exercise solution codepad |
| 100 | 08 Jan 2010 | Nim: A | two-player game of mathematical logic | exercise solution codepad |
| 156 | 06 Aug 2010 | Two Powering Predicates: Determine if a number is a square or a prime power | exercise solution codepad | |
| 469 | 27 Aug 2013 | Two Sieving Problems: Use sieves to answer | two prime-number questions | exercise solution codepad |
| 115 | 02 Mar 2010 | Goldbach’s Conjecture: Every even number greater than two can be written as the sum of | two primes | exercise solution codepad |
| 372 | 07 Sep 2012 | The First | Two Programs: Hello World and a fahrenheit / celsius conversion table | exercise solution codepad |
| 490 | 05 Nov 2013 | Two Queues Make A Stack: Implement a stack using two queues | exercise solution codepad | |
| 490 | 05 Nov 2013 | Two Queues Make A Stack: Implement a stack using | two queues | exercise solution codepad |
| 366 | 17 Aug 2012 | Two Random Exercises: Two exercises involving random numbers | exercise solution codepad | |
| 192 | 10 Dec 2010 | Two Random Selections: Use random number to select fortunes and lotto winners | exercise solution codepad | |
| 288 | 15 Nov 2011 | Phil Harvey’s Puzle: partition {1,…,16} into | two sets of equal size so each subset has the same sum, sum of squares and sum of cubes | exercise solution codepad |
| 469 | 27 Aug 2013 | Two Sieving Problems: Use sieves to answer two prime-number questions | exercise solution codepad | |
| 361 | 31 Jul 2012 | SEND + MORE = MONEY, Part 1: | Two slow solutions to a classic problem of recreational mathematics | exercise solution codepad |
| 235 | 10 May 2011 | Comm: select or reject lines common to | two sorted files | exercise solution codepad |
| 99 | 05 Jan 2010 | The Sum Of | Two Squares: A math puzzle with a solution by Dijkstra | exercise solution codepad |
| 491 | 08 Nov 2013 | Two Stacks Make A Queue: Implement a queue using two stacks | exercise solution codepad | |
| 491 | 08 Nov 2013 | Two Stacks Make A Queue: Implement a queue using | two stacks | exercise solution codepad |
| 268 | 02 Sep 2011 | Two String Exercises: Remove duplicate characters, and squish adjacent blanks | exercise solution codepad | |
| 310 | 31 Jan 2012 | String Rotation: Determine if | two strings are rotations of each other | exercise solution codepad |
| 81 | 30 Oct 2009 | Two Sub-Quadratic Sorts: Comb sort and shell sort | exercise solution codepad | |
| 422 | 12 Mar 2013 | An Array Of | Two Symbols: A learning experience for binary search | exercise solution codepad |
| 139 | 08 Jun 2010 | Diff: Find the differences between | two text files | exercise solution codepad |
| 155 | 03 Aug 2010 | Carl Hewitt’s Same-Fringe Problem: Do | two trees have the same leaves, solved with streams (lazy lists) | exercise solution codepad |
| 332 | 17 Apr 2012 | Twin Primes: A variant of the Sieve of Eratosthenes to find pairs of primes that differ by | two | exercise solution codepad |
| 448 | 11 Jun 2013 | Longest Substring Of | Two Unique Characters: Longest run of consecutive characters in a string that contains only two unique characters | exercise solution codepad |
| 448 | 11 Jun 2013 | Longest Substring Of Two Unique Characters: Longest run of consecutive characters in a string that contains only | two unique characters | exercise solution codepad |
| 380 | 09 Oct 2012 | Two Word Games: Find words in a dictionary | exercise solution codepad | |
| 416 | 19 Feb 2013 | NPR Sunday Puzzle: Find | two words containing the letters a, b, c, d, e and f | exercise solution codepad |
| 454 | 02 Jul 2013 | Decoding Text-Speak: Expnd | txt wth only intl vwls and n dbld ltrs | exercise solution codepad |
| 191 | 07 Dec 2010 | Ullman’s Puzzle: It never hurts to sort | exercise solution codepad | |
| 349 | 19 Jun 2012 | Digits Of E: Two algorithms that compute the digits of e, one bounded, the other | unbounded | exercise solution codepad |
| 58 | 11 Aug 2009 | Uncle Bob’s Bowling Game Kata: Use pattern-matching on lists to solve a classic object-oriented programming exercise | exercise solution codepad | |
| 65 | 04 Sep 2009 | Ron’s Cipher #4: Stream cipher by Ron Rivest that | underlies the SSL and WEP protocols | exercise solution codepad |
| 144 | 25 Jun 2010 | Learn A New Language: Solve the exercise of your choice in an | unfamiliar language | exercise solution codepad |
| 316 | 21 Feb 2012 | Learn A New Language: Solve the exercise of your choice in an | unfamiliar language | exercise solution codepad |
| 335 | 27 Apr 2012 | Trabb Pardo Knuth Algorithm: Trivial algorithm, used to explore an | unfamiliar language | exercise solution codepad |
| 320 | 06 Mar 2012 | Union Route Cipher: Military cipher used successfully by | Union forces in the American Civil War | exercise solution codepad |
| 320 | 06 Mar 2012 | Union Route Cipher: Military cipher used successfully by Union forces in the American Civil War | exercise solution codepad | |
| 391 | 16 Nov 2012 | List Intersection And | Union: Two algorithms on linked lists, with multiple solutions | exercise solution codepad |
| 448 | 11 Jun 2013 | Longest Substring Of Two | Unique Characters: Longest run of consecutive characters in a string that contains only two unique characters | exercise solution codepad |
| 448 | 11 Jun 2013 | Longest Substring Of Two Unique Characters: Longest run of consecutive characters in a string that contains only two | unique characters | exercise solution codepad |
| 384 | 23 Oct 2012 | Universal Hash Function: Compute a hash for any native Scheme datatype | exercise solution codepad | |
| 282 | 25 Oct 2011 | Cksum: | Unix checksum utility | exercise solution codepad |
| 465 | 13 Aug 2013 | Unix Paths: Convert relative Unix path to absolute, by Robert Fisher | exercise solution codepad | |
| 465 | 13 Aug 2013 | Unix Paths: Convert relative | Unix path to absolute, by Robert Fisher | exercise solution codepad |
| 14 | 10 Mar 2009 | Word Frequencies: Our interpretation of a problem solved by a classic | unix pipeline | exercise solution codepad |
| 136 | 28 May 2010 | Printing Files: A simple program to list files, similar to the | unix pr program | exercise solution codepad |
| 71 | 25 Sep 2009 | Grep: Simple version of the classic | unix regular-expression matching utility | exercise solution codepad |
| 363 | 07 Aug 2012 | Make: The classic | Unix utility for managing file dependencies | exercise solution codepad |
| 222 | 25 Mar 2011 | Sum: The standard | Unix V7 file-checksum command | exercise solution codepad |
| 298 | 20 Dec 2011 | Hangman: Classic | Unix V7 game for guessing words | exercise solution codepad |
| 281 | 21 Oct 2011 | Sum, Revisited: SysV and Berkeley versions of the | Unix V7 sum command | exercise solution codepad |
| 346 | 08 Jun 2012 | Cat: The | Unix V7 utility to catenate and print | exercise solution codepad |
| 92 | 08 Dec 2009 | Word Count: An implementation of the | unix wc program |
exercise solution codepad |
| 436 | 30 Apr 2013 | First | Unrepeated Character In A String: Find the first character that appears only once in a string | exercise solution codepad |
| 119 | 16 Mar 2010 | Traveling Salesman: Nearest Neighbor: A greedy heuristic that builds a path by always choosing the nearest | unvisited point | exercise solution codepad |
| 137 | 01 Jun 2010 | Unwrapping A Spiral: An exercise in recursion | exercise solution codepad | |
| 240 | 27 May 2011 | Upside | Up: Numbers that read the same upside down | exercise solution codepad |
| 240 | 27 May 2011 | Upside Up: Numbers that read the same | upside down | exercise solution codepad |
| 240 | 27 May 2011 | Upside Up: Numbers that read the same upside down | exercise solution codepad | |
| 252 | 08 Jul 2011 | Vedic Divisibility: | Use a method of testing divisibility using the method of osculators developed in India | exercise solution codepad |
| 193 | 14 Dec 2010 | Longest Duplicated Substring: | Use a sorted suffix list | exercise solution codepad |
| 210 | 11 Feb 2011 | Sums Of Powers: | Use Bernoulli numbers to quickly compute sums of powers | exercise solution codepad |
| 246 | 17 Jun 2011 | Adi Shamir’s Threshold Scheme: | Use cryptography to share a secret, by Graham Enos | exercise solution codepad |
| 378 | 02 Oct 2012 | AKS Primality Prover, Part 1: Two functions | used by the AKS primality prover | exercise solution codepad |
| 286 | 08 Nov 2011 | Improved Standard Continuation: An improved version of elliptic curve factorization, widely | used in current practice | exercise solution codepad |
| 27 | 24 Apr 2009 | Word Hy-phen-a-tion By Com-pu-ter: Frank Liang’s hyphenation algorithm, | used in TeX | exercise solution codepad |
| 76 | 13 Oct 2009 | Bifid: A simple but effective fractionating cipher, never | used militarily | exercise solution codepad |
| 320 | 06 Mar 2012 | Union Route Cipher: Military cipher | used successfully by Union forces in the American Civil War | exercise solution codepad |
| 335 | 27 Apr 2012 | Trabb Pardo Knuth Algorithm: Trivial algorithm, | used to explore an unfamiliar language | exercise solution codepad |
| 270 | 09 Sep 2011 | Mersenne Twister: Random number generator with very long period, | useful for simulations | exercise solution codepad |
| 179 | 26 Oct 2010 | Benford’s Law: A | useful mathematical oddity, and an example of text file databases | exercise solution codepad |
| 464 | 09 Aug 2013 | Bit Hacks: A time-honored tradition, and | useful | exercise solution codepad |
| 467 | 20 Aug 2013 | More Bit Hacks: A time-honored tradition, and | useful | exercise solution codepad |
| 471 | 03 Sep 2013 | Yet More Bit Hacks: A time-honored tradition, and | useful | exercise solution codepad |
| 356 | 13 Jul 2012 | The Evolution Of Flibs: | Use genetic programming to build a finite state machine | exercise solution codepad |
| 373 | 11 Sep 2012 | The Sum Of The First Billion Primes: Write a prime generator, and | use it | exercise solution codepad |
| 15 | 13 Mar 2009 | Friday, the Thirteenth: A small calendar library, and a simple | use of it | exercise solution codepad |
| 58 | 11 Aug 2009 | Uncle Bob’s Bowling Game Kata: | Use pattern-matching on lists to solve a classic object-oriented programming exercise | exercise solution codepad |
| 192 | 10 Dec 2010 | Two Random Selections: | Use random number to select fortunes and lotto winners | exercise solution codepad |
| 469 | 27 Aug 2013 | Two Sieving Problems: | Use sieves to answer two prime-number questions | exercise solution codepad |
| 381 | 12 Oct 2012 | Birthday Paradox: | Use simulation to demonstrate the birthday paradox | exercise solution codepad |
| 95 | 18 Dec 2009 | Calculating Logarithms: | Use the methods of Newton and Euler to calculate square roots and logarithms | exercise solution codepad |
| 185 | 16 Nov 2010 | RSA Cryptography: The original public-key cryptographic system, still in wide | use | exercise solution codepad |
| 63 | 28 Aug 2009 | String Search: Boyer-Moore: Search for a pattern in a text | using a fast and simple algorithm | exercise solution codepad |
| 16 | 17 Mar 2009 | Comma-Separated Values: Retrieve records from a comma-separated values file | using a finite-state machine | exercise solution codepad |
| 11 | 27 Feb 2009 | Mark V. Shaney: Generate parodies of a text | using a Markov chain | exercise solution codepad |
| 278 | 07 Oct 2011 | Sieve of Sundaram: Sieving for prime numbers | using a method from India | exercise solution codepad |
| 117 | 09 Mar 2010 | Lexicographic Permutations: Continually generate the next permutation | using an algorithm by Dijkstra | exercise solution codepad |
| 62 | 25 Aug 2009 | String Search: Knuth-Morris-Pratt: Search for a pattern in a text | using an O(n) algorithm | exercise solution codepad |
| 314 | 14 Feb 2012 | Divisors: Find divisors | using a sieve | exercise solution codepad |
| 355 | 10 Jul 2012 | Sieve For Totients: Find the totients of a large range of integers | using a sieve | exercise solution codepad |
| 102 | 15 Jan 2010 | Three Binary Algorithms: Multiplication, division and greatest common divisor | using binary arithmetic | exercise solution codepad |
| 163 | 31 Aug 2010 | Data Encryption Standard: Part 1: Basic block enciphering and deciphering | using DES | exercise solution codepad |
| 183 | 09 Nov 2010 | Subset Sums: Third level of the Greplin Programming Challenge, | using dynamic programming and memoization | exercise solution codepad |
| 326 | 27 Mar 2012 | Subset Sum: Solve a classic NP problem | using dynamic programming | exercise solution codepad |
| 145 | 29 Jun 2010 | World Cup Prognostication: Simulate the knockout stage | using elo ratings | exercise solution codepad |
| 458 | 19 Jul 2013 | J K Rowling: Identify an author | using forensic linguistics | exercise solution codepad |
| 256 | 22 Jul 2011 | Counting Primes | Using Legendre’s Formula: Recreate Legendre’s two-century old calculation of the number of primes less than a million | exercise solution codepad |
| 220 | 18 Mar 2011 | Loopy Loops: Print the numbers from 1 to 1000 without | using loops or conditionals | exercise solution codepad |
| 228 | 15 Apr 2011 | Partition Numbers: Calculate the partition numbers, | using memoization via growing arrays | exercise solution codepad |
| 130 | 23 Apr 2010 | Modern Elliptic Curve Factorization, Part 1: Elliptic arithmetic | using Montgomery’s parameterization | exercise solution codepad |
| 131 | 27 Apr 2010 | Modern Elliptic Curve Factorization, Part 2: Elliptic arithmetic | using Montgomery’s parameterization | exercise solution codepad |
| 418 | 26 Feb 2013 | An Odd Way To Square: Square a number without | using multiplication or exponentiation | exercise solution codepad |
| 299 | 23 Dec 2011 | Koch’s Snowflake: Draw a fractal snowflake | using PostScript | exercise solution codepad |
| 357 | 17 Jul 2012 | Breshenham’s Line-Drawing Algorithm: Draw straight lines | using raster graphics | exercise solution codepad |
| 101 | 12 Jan 2010 | Calculating Sines: Calculate sines | using Taylor series and the triple-angle formula, by Bill Cruise | exercise solution codepad |
| 129 | 20 Apr 2010 | 145 Puzzle: Build and evaluate expressions | using the digits one through nine and the simple arithmetic operators | exercise solution codepad |
| 90 | 01 Dec 2009 | Wolves And Rabbits: Analyze population dynamics | using the Lotka-Volterra equations | exercise solution codepad |
| 226 | 08 Apr 2011 | Credit Card Validation: Validate decimal numbers | using the Luhn algorithm | exercise solution codepad |
| 252 | 08 Jul 2011 | Vedic Divisibility: Use a method of testing divisibility | using the method of osculators developed in India | exercise solution codepad |
| 485 | 25 Oct 2013 | Pessimal Algorithms And Simplexity Analysis: The slowsort algorithm | using the multiply and surrender algorithms | exercise solution codepad |
| 318 | 28 Feb 2012 | Next Greater Permutation Of Digits: Find the smallest number larger than the input number | using the same digits as the input number | exercise solution codepad |
| 301 | 30 Dec 2011 | Split: Split a list in two halves | using the tortoise-and-hare algorithm | exercise solution codepad |
| 490 | 05 Nov 2013 | Two Queues Make A Stack: Implement a stack | using two queues | exercise solution codepad |
| 491 | 08 Nov 2013 | Two Stacks Make A Queue: Implement a queue | using two stacks | exercise solution codepad |
| 363 | 07 Aug 2012 | Make: The classic Unix | utility for managing file dependencies | exercise solution codepad |
| 346 | 08 Jun 2012 | Cat: The Unix V7 | utility to catenate and print | exercise solution codepad |
| 230 | 22 Apr 2011 | Xref: Programmer’s cross-reference | utility | exercise solution codepad |
| 282 | 25 Oct 2011 | Cksum: Unix checksum | utility | exercise solution codepad |
| 71 | 25 Sep 2009 | Grep: Simple version of the classic unix regular-expression matching | utility | exercise solution codepad |
| 222 | 25 Mar 2011 | Sum: The standard Unix | V7 file-checksum command | exercise solution codepad |
| 298 | 20 Dec 2011 | Hangman: Classic Unix | V7 game for guessing words | exercise solution codepad |
| 281 | 21 Oct 2011 | Sum, Revisited: SysV and Berkeley versions of the Unix | V7 sum command | exercise solution codepad |
| 346 | 08 Jun 2012 | Cat: The Unix | V7 utility to catenate and print | exercise solution codepad |
| 226 | 08 Apr 2011 | Credit Card Validation: | Validate decimal numbers using the Luhn algorithm | exercise solution codepad |
| 238 | 20 May 0 | ISBN Validation: | Validate ISBN book numbers, and fetch author and title from the internet | exercise solution codepad |
| 296 | 13 Dec 2011 | Validating Telephone Numbers: An exercise in input validation | exercise solution codepad | |
| 296 | 13 Dec 2011 | Validating Telephone Numbers: An exercise in input | validation | exercise solution codepad |
| 226 | 08 Apr 2011 | Credit Card | Validation: Validate decimal numbers using the Luhn algorithm | exercise solution codepad |
| 238 | 20 May 0 | ISBN | Validation: Validate ISBN book numbers, and fetch author and title from the internet | exercise solution codepad |
| 287 | 11 Nov 2011 | Generators: Write functions that yield a | value, but can then be re-entered | exercise solution codepad |
| 265 | 23 Aug 2011 | Knapsack: Fill a knapsack to maximize the | value of its contents | exercise solution codepad |
| 75 | 09 Oct 2009 | Calculating Pi: Calculate the | value of π by monte-carlo methods and by an Archimedean method | exercise solution codepad |
| 423 | 15 Mar 2013 | Buffon’s Needle: Compute the | value of π with a simulation | exercise solution codepad |
| 323 | 16 Mar 2012 | Sum Of Squares Of Two Largest Of Three | Values: A simple problem from SICP with a variety of solutions | exercise solution codepad |
| 16 | 17 Mar 2009 | Comma-Separated Values: Retrieve records from a comma-separated | values file using a finite-state machine | exercise solution codepad |
| 16 | 17 Mar 2009 | Comma-Separated | Values: Retrieve records from a comma-separated values file using a finite-state machine | exercise solution codepad |
| 457 | 16 Jul 2013 | Vampire Numbers: Numbers x * y that consist of the digits of x and y | exercise solution codepad | |
| 472 | 06 Sep 2013 | Cartesian Product: Cross-product of the items in a | variable-length list of variable-length lists | exercise solution codepad |
| 472 | 06 Sep 2013 | Cartesian Product: Cross-product of the items in a variable-length list of | variable-length lists | exercise solution codepad |
| 374 | 14 Sep 2012 | Tribonacci Numbers: A | variant of fibonacci numbers | exercise solution codepad |
| 204 | 21 Jan 0 | Pollard Rho, Revisited: Richard Brent’s | variant of John Pollard’s rho algorithm for integer factorization | exercise solution codepad |
| 332 | 17 Apr 2012 | Twin Primes: A | variant of the Sieve of Eratosthenes to find pairs of primes that differ by two | exercise solution codepad |
| 31 | 08 May 2009 | Wheel Factorization: Find the factors of a number by a | variant of trial division | exercise solution codepad |
| 442 | 21 May 2013 | Coin Change, Part 2: A | variant on the classic coin change problem | exercise solution codepad |
| 443 | 24 May 2013 | Coin Change, Part 3: Another | variant on the classic coin change problem | exercise solution codepad |
| 432 | 16 Apr 2013 | Date Formatting: Neatly write a date in a | variety of formats | exercise solution codepad |
| 323 | 16 Mar 2012 | Sum Of Squares Of Two Largest Of Three Values: A simple problem from SICP with a | variety of solutions | exercise solution codepad |
| 177 | 19 Oct 2010 | Text File Databases: Part 1: Functions to read records with fields in | various formats | exercise solution codepad |
| 178 | 22 Oct 2010 | Text File Databases: Part 2: | Various functions to process records with fields | exercise solution codepad |
| 426 | 26 Mar 2013 | Google Code Jam Qualification Round Africa 2010, Revisited: Four solutions to a Google programming exercise, with | various time complexities | exercise solution codepad |
| 252 | 08 Jul 2011 | Vedic Divisibility: Use a method of testing divisibility using the method of osculators developed in India | exercise solution codepad | |
| 475 | 20 Sep 2013 | McCarthy’s 91 Function: A recursive function designed as a test case for formal | verification | exercise solution codepad |
| 382 | 16 Oct 2012 | Version Control: Economically store multiple versions of text files | exercise solution codepad | |
| 140 | 11 Jun 2010 | N-Queens: Our | version of a classic algorithmic exercise | exercise solution codepad |
| 424 | 19 Mar 2013 | Quadratic Sieve: Basic | version of a powerful factoring algorithm | exercise solution codepad |
| 341 | 18 May 2012 | Formatted Numeric Output: A minimal | version of C’s printf function |
exercise solution codepad |
| 286 | 08 Nov 2011 | Improved Standard Continuation: An improved | version of elliptic curve factorization, widely used in current practice | exercise solution codepad |
| 300 | 27 Dec 2011 | Cheating Hangman: A | version of Hangman that nearly always wins | exercise solution codepad |
| 428 | 02 Apr 2013 | Quadratic Sieve With Large Primes: A (slightly) improved | version of the basic quadratic sieve | exercise solution codepad |
| 451 | 21 Jun 2013 | Multiple Polynomial Quadratic Sieve: A greatly improved | version of the basic quadratic sieve | exercise solution codepad |
| 71 | 25 Sep 2009 | Grep: Simple | version of the classic unix regular-expression matching utility | exercise solution codepad |
| 97 | 29 Dec 2009 | A Statisticle Speling Korrecter: Peter Norvig’s | version of the Google spelling suggester | exercise solution codepad |
| 112 | 19 Feb 2010 | Sieve Of Atkin, Improved: A faster | version of the Sieve of Atkin | exercise solution codepad |
| 382 | 16 Oct 2012 | Version Control: Economically store multiple | versions of text files | exercise solution codepad |
| 281 | 21 Oct 2011 | Sum, Revisited: SysV and Berkeley | versions of the Unix V7 sum command | exercise solution codepad |
| 435 | 26 Apr 2013 | Correct Horse Battery Staple, Improved: Fix a horrible bug in the original | version | exercise solution codepad |
| 199 | 04 Jan 2011 | Dijkstra’s Algorithm: Find the shortest path to all | vertices of a graph from a single source, guest written by Graham Enos | exercise solution codepad |
| 161 | 24 Aug 2010 | Daniel Shanks’ Square Form Factorization Algorithm: A simple and | very fast factorization algorithm for integers between 105 and 1020 | exercise solution codepad |
| 396 | 04 Dec 2012 | Median Of Five: A | very fast method to compute the median of five items | exercise solution codepad |
| 270 | 09 Sep 2011 | Mersenne Twister: Random number generator with | very long period, useful for simulations | exercise solution codepad |
| 55 | 31 Jul 2009 | Elliptic Curve Factorization: A | very simple implementation of elliptic curve factorization | exercise solution codepad |
| 228 | 15 Apr 2011 | Partition Numbers: Calculate the partition numbers, using memoization | via growing arrays | exercise solution codepad |
| 43 | 19 Jun 2009 | Monte Carlo Factorization: Integer factorization | via Pollard’s rho algorithm | exercise solution codepad |
| 12 | 03 Mar 2009 | Creation: Cryptanalysis of a | Vigenère cipher | exercise solution codepad |
| 329 | 06 Apr 2012 | Voters: Watch voting blocks migrate on the screen | exercise solution codepad | |
| 329 | 06 Apr 2012 | Voters: Watch | voting blocks migrate on the screen | exercise solution codepad |
| 297 | 16 Dec 2011 | Majority | Voting: Determine the results of an election | exercise solution codepad |
| 11 | 27 Feb 2009 | Mark | V. Shaney: Generate parodies of a text using a Markov chain | exercise solution codepad |
| 454 | 02 Jul 2013 | Decoding Text-Speak: Expnd txt wth only intl | vwls and n dbld ltrs | exercise solution codepad |
| 280 | 18 Oct 2011 | The | Wall: Ray Panko’s spreadsheet exercise | exercise solution codepad |
| 320 | 06 Mar 2012 | Union Route Cipher: Military cipher used successfully by Union forces in the American Civil | War | exercise solution codepad |
| 57 | 07 Aug 2009 | ADFGX: A classic German military field cipher from the First World | War | exercise solution codepad |
| 329 | 06 Apr 2012 | Voters: | Watch voting blocks migrate on the screen | exercise solution codepad |
| 331 | 13 Apr 2012 | McNugget Numbers, Revisited: The classic coin problem in disguise, how to count the number of | ways to make change | exercise solution codepad |
| 441 | 17 May 2013 | Coin Change, Part 1: Classic problem to count the | ways to make change | exercise solution codepad |
| 383 | 19 Oct 2012 | Prime Partitions: Compute the number of | ways to sum primes to a target | exercise solution codepad |
| 415 | 15 Feb 2013 | Facebook Hacker Cup 2013, Round 1, Problem 1: Count the | ways to win a card game | exercise solution codepad |
| 418 | 26 Feb 2013 | An Odd | Way To Square: Square a number without using multiplication or exponentiation | exercise solution codepad |
| 92 | 08 Dec 2009 | Word Count: An implementation of the unix | wc program |
exercise solution codepad |
| 94 | 15 Dec 2009 | Affine-Shift Cipher: A cryptographically | weak but mathematically interesting cipher | exercise solution codepad |
| 324 | 20 Mar 2012 | Factoring Multiple RSA Keys: Exploit a key-generation | weakness to factor RSA keys | exercise solution codepad |
| 182 | 05 Nov 2010 | Weather Forecast: Fetch the weather forecast from the internet | exercise solution codepad | |
| 182 | 05 Nov 2010 | Weather Forecast: Fetch the | weather forecast from the internet | exercise solution codepad |
| 439 | 10 May 2013 | MindCipher: Three exercises from the MindCipher puzzle | website | exercise solution codepad |
| 455 | 05 Jul 2013 | Weekdays Between Two Dates: Number of days between two dates, excluding Saturday and Sunday | exercise solution codepad | |
| 174 | 08 Oct 2010 | Zeller’s Congruence: Calculate the day of the | week for a given date | exercise solution codepad |
| 248 | 24 Jun 2011 | Thank God It’s Friday!: Three methods to calculate the day of the | week | exercise solution codepad |
| 84 | 10 Nov 2009 | Merge Sort: A fast, stable sorting algorithm, especially | well-suited to linked lists | exercise solution codepad |
| 65 | 04 Sep 2009 | Ron’s Cipher #4: Stream cipher by Ron Rivest that underlies the SSL and | WEP protocols | exercise solution codepad |
| 31 | 08 May 2009 | Wheel Factorization: Find the factors of a number by a variant of trial division | exercise solution codepad | |
| 303 | 06 Jan 2012 | Pritchard’s | Wheel Sieve: An alternative to the Sieve of Eratosthenes with a faster asymptotic time complexity | exercise solution codepad |
| 172 | 01 Oct 2010 | Oban Numbers: Numbers that omit the letter “o” | when spelled, and a function to convert numbers to words | exercise solution codepad |
| 181 | 02 Nov 2010 | Emirps: Prime numbers that are prime | when their digits are reversed, but not palindromic | exercise solution codepad |
| 313 | 10 Feb 2012 | Search In An Ascending Matrix: Find a number in a matrix | where both rows and columns are sorted in ascending order | exercise solution codepad |
| 461 | 30 Jul 2013 | Who Buys The Croissants?: Simulate an important Friday-morning question | exercise solution codepad | |
| 42 | 16 Jun 2009 | Who Owns The Zebra?: A logic puzzle, solved by embedding a Prolog-like logic system in Scheme | exercise solution codepad | |
| 286 | 08 Nov 2011 | Improved Standard Continuation: An improved version of elliptic curve factorization, | widely used in current practice | exercise solution codepad |
| 185 | 16 Nov 2010 | RSA Cryptography: The original public-key cryptographic system, still in | wide use | exercise solution codepad |
| 138 | 04 Jun 2010 | Williams’ P+1 Factorization Algorithm: A factorization algorithm, similar to Pollard’s p−1 algorithm | exercise solution codepad | |
| 415 | 15 Feb 2013 | Facebook Hacker Cup 2013, Round 1, Problem 1: Count the ways to | win a card game | exercise solution codepad |
| 213 | 22 Feb 2011 | Sliding | Window Minimum: List of minimums sliding across an input list | exercise solution codepad |
| 192 | 10 Dec 2010 | Two Random Selections: Use random number to select fortunes and lotto | winners | exercise solution codepad |
| 3 | 19 Feb 2009 | Bingo: Calculate the probability of | winning at Bingo | exercise solution codepad |
| 300 | 27 Dec 2011 | Cheating Hangman: A version of Hangman that nearly always | wins | exercise solution codepad |
| 397 | 07 Dec 2012 | Wirth Problem 15.12: Compute a sequence of numbers defined by Wirth | exercise solution codepad | |
| 397 | 07 Dec 2012 | Wirth Problem 15.12: Compute a sequence of numbers defined by | Wirth | exercise solution codepad |
| 398 | 11 Dec 2012 | Stepwise Program Development: A Heuristic Algorithm: A backtracking solution to a problem of | Wirth | exercise solution codepad |
| 403 | 28 Dec 2012 | Three | Wise Men: Find the prices of their gifts | exercise solution codepad |
| 127 | 13 Apr 2010 | Traveling Salesman: Minimum Spanning Tree: Heuristic guarantees solution | within factor of two of optimal tour | exercise solution codepad |
| 342 | 22 May 2012 | Hamming Codes: Send messages over a noisy channel | without error | exercise solution codepad |
| 444 | 28 May 2013 | Modular Multiplication Without Overflow: Perform modular multiplication | without overflowing an integer datatype | exercise solution codepad |
| 444 | 28 May 2013 | Modular Multiplication | Without Overflow: Perform modular multiplication without overflowing an integer datatype | exercise solution codepad |
| 220 | 18 Mar 2011 | Loopy Loops: Print the numbers from 1 to 1000 | without using loops or conditionals | exercise solution codepad |
| 418 | 26 Feb 2013 | An Odd Way To Square: Square a number | without using multiplication or exponentiation | exercise solution codepad |
| 33 | 15 May 2009 | Cellular Automata: Linear cellular automata as described by Stephen | Wolfram in his book A New Kind of Science | exercise solution codepad |
| 232 | 29 Apr 2011 | Rule 30 RNG: The random number generator from Mathematica, based on Stephen | Wolfram’s Rule 30 cellular automata | exercise solution codepad |
| 90 | 01 Dec 2009 | Wolves And Rabbits: Analyze population dynamics using the Lotka-Volterra equations | exercise solution codepad | |
| 17 | 20 Mar 2009 | Dodgson's Doublets: A word game invented by the author of Alice in | Wonderland | exercise solution codepad |
| 262 | 12 Aug 2011 | Word Breaks: Insert spaces between words: applepie => apple pie | exercise solution codepad | |
| 92 | 08 Dec 2009 | Word Count: An implementation of the unix wc program |
exercise solution codepad | |
| 149 | 13 Jul 2010 | Word Cube: A game to form words from a given set of letters | exercise solution codepad | |
| 14 | 10 Mar 2009 | Word Frequencies: Our interpretation of a problem solved by a classic unix pipeline | exercise solution codepad | |
| 17 | 20 Mar 2009 | Dodgson's Doublets: A | word game invented by the author of Alice in Wonderland | exercise solution codepad |
| 380 | 09 Oct 2012 | Two | Word Games: Find words in a dictionary | exercise solution codepad |
| 27 | 24 Apr 2009 | Word Hy-phen-a-tion By Com-pu-ter: Frank Liang’s hyphenation algorithm, used in TeX | exercise solution codepad | |
| 231 | 26 Apr 2011 | Miscellanea: FizzBuzz, Prime | Words, and Split A List | exercise solution codepad |
| 262 | 12 Aug 2011 | Word Breaks: Insert spaces between | words: applepie => apple pie | exercise solution codepad |
| 353 | 03 Jul 2012 | Chopping Words: Form a chain of | words by removing letters one at a time | exercise solution codepad |
| 416 | 19 Feb 2013 | NPR Sunday Puzzle: Find two | words containing the letters a, b, c, d, e and f | exercise solution codepad |
| 36 | 26 May 2009 | Word Search Solver: A computerized implementation of a popular time-waster | exercise solution codepad | |
| 353 | 03 Jul 2012 | Chopping | Words: Form a chain of words by removing letters one at a time | exercise solution codepad |
| 334 | 24 Apr 2012 | Rhyming Dictionary: Find rhyming | words for poets | exercise solution codepad |
| 149 | 13 Jul 2010 | Word Cube: A game to form | words from a given set of letters | exercise solution codepad |
| 380 | 09 Oct 2012 | Two Word Games: Find | words in a dictionary | exercise solution codepad |
| 217 | 08 Mar 2011 | Reverse Words: Reverse the | words in an input string | exercise solution codepad |
| 233 | 03 May 2011 | Squaring The Bishop: Charles Babbage’s game of | word squares | exercise solution codepad |
| 217 | 08 Mar 2011 | Reverse | Words: Reverse the words in an input string | exercise solution codepad |
| 66 | 08 Sep 2009 | Porter Stemming: Martin Porter’s algorithm for removing suffices from | word stems | exercise solution codepad |
| 172 | 01 Oct 2010 | Oban Numbers: Numbers that omit the letter “o” when spelled, and a function to convert numbers to | words | exercise solution codepad |
| 298 | 20 Dec 2011 | Hangman: Classic Unix V7 game for guessing | words | exercise solution codepad |
| 295 | 09 Dec 2011 | McNugget Numbers: A simple problem, | worked out on a napkin | exercise solution codepad |
| 372 | 07 Sep 2012 | The First Two Programs: Hello | World and a fahrenheit / celsius conversion table | exercise solution codepad |
| 145 | 29 Jun 2010 | World Cup Prognostication: Simulate the knockout stage using elo ratings | exercise solution codepad | |
| 88 | 24 Nov 2009 | Sunrise, Sunset: Calculate the times of sunrise and sunset on any day anywhere in the | world | exercise solution codepad |
| 57 | 07 Aug 2009 | ADFGX: A classic German military field cipher from the First | World War | exercise solution codepad |
| 237 | 17 May 2011 | Two Bad Sorts: Stooge sort and bogosort are | worse than quadratic | exercise solution codepad |
| 432 | 16 Apr 2013 | Date Formatting: Neatly | write a date in a variety of formats | exercise solution codepad |
| 453 | 28 Jun 2013 | A Programming Puzzle: | Write a function f so that f(f(n)) = -n for all integers n. | exercise solution codepad |
| 354 | 06 Jul 2012 | Fractran: | Write an interpreter for John Horton Conway’s language Fractran | exercise solution codepad |
| 358 | 20 Jul 2012 | Infix Expression Evaluation: | Write a parser to evaluate arithmetic expressions | exercise solution codepad |
| 373 | 11 Sep 2012 | The Sum Of The First Billion Primes: | Write a prime generator, and use it | exercise solution codepad |
| 189 | 30 Nov 2010 | Form Letters: Merge a schema and a data file to | write form letters | exercise solution codepad |
| 287 | 11 Nov 2011 | Generators: | Write functions that yield a value, but can then be re-entered | exercise solution codepad |
| 194 | 17 Dec 2010 | Polite Numbers: | Write numbers as the sum of two or more consecutive integers | exercise solution codepad |
| 13 | 06 Mar 2009 | Roman Numerals: A library to read and | write Roman numerals | exercise solution codepad |
| 254 | 15 Jul 2011 | JSON: | Writing Output: The other side of JSAON | exercise solution codepad |
| 115 | 02 Mar 2010 | Goldbach’s Conjecture: Every even number greater than two can be | written as the sum of two primes | exercise solution codepad |
| 199 | 04 Jan 2011 | Dijkstra’s Algorithm: Find the shortest path to all vertices of a graph from a single source, guest | written by Graham Enos | exercise solution codepad |
| 18 | 23 Mar 2009 | Binary Search: A simple task, easy to get | wrong | exercise solution codepad |
| 454 | 02 Jul 2013 | Decoding Text-Speak: Expnd txt | wth only intl vwls and n dbld ltrs | exercise solution codepad |
| 457 | 16 Jul 2013 | Vampire Numbers: Numbers x * y that consist of the digits of | x and y | exercise solution codepad |
| 460 | 26 Jul 2013 | Find | X[i] = i In An Array: Find an array element equal to its index | exercise solution codepad |
| 305 | 13 Jan 2012 | Excel’s | XIRR Function: Numerical calculation of a derivative | exercise solution codepad |
| 224 | 01 Apr 2011 | Maximum Difference In An Array: Find maximum Xj &minus | Xi, with i ≤ j | exercise solution codepad |
| 224 | 01 Apr 2011 | Maximum Difference In An Array: Find maximum Xj | &minus Xi, with i ≤ j | exercise solution codepad |
| 224 | 01 Apr 2011 | Maximum Difference In An Array: Find maximum | Xj &minus Xi, with i ≤ j | exercise solution codepad |
| 230 | 22 Apr 2011 | Xref: Programmer’s cross-reference utility | exercise solution codepad | |
| 457 | 16 Jul 2013 | Vampire Numbers: Numbers | x * y that consist of the digits of x and y | exercise solution codepad |
| 404 | 01 Jan 2013 | Happy New | Year!: Find expressions that evaluate to 2013 | exercise solution codepad |
| 147 | 06 Jul 2010 | Chaocipher: First look at a ninety-two | year old autokey-type cipher | exercise solution codepad |
| 46 | 30 Jun 2009 | Steve | Yegge’s Phone-Screen Coding Exercises: A simple set of programming exercises based on a blog entry by Steve Yegge | exercise solution codepad |
| 46 | 30 Jun 2009 | Steve Yegge’s Phone-Screen Coding Exercises: A simple set of programming exercises based on a blog entry by Steve | Yegge | exercise solution codepad |
| 409 | 22 Jan 2013 | Splay Heaps: | Yet another implementation of priority queues | exercise solution codepad |
| 471 | 03 Sep 2013 | Yet More Bit Hacks: A time-honored tradition, and useful | exercise solution codepad | |
| 287 | 11 Nov 2011 | Generators: Write functions that | yield a value, but can then be re-entered | exercise solution codepad |
| 144 | 25 Jun 2010 | Learn A New Language: Solve the exercise of | your choice in an unfamiliar language | exercise solution codepad |
| 316 | 21 Feb 2012 | Learn A New Language: Solve the exercise of | your choice in an unfamiliar language | exercise solution codepad |
| 388 | 06 Nov 2012 | Fix Something Annoying: Take control of | your computing environment by fixing something that annoys you | exercise solution codepad |
| 388 | 06 Nov 2012 | Fix Something Annoying: Take control of your computing environment by fixing something that annoys | you | exercise solution codepad |
| 457 | 16 Jul 2013 | Vampire Numbers: Numbers x | * y that consist of the digits of x and y | exercise solution codepad |
| 457 | 16 Jul 2013 | Vampire Numbers: Numbers x * | y that consist of the digits of x and y | exercise solution codepad |
| 457 | 16 Jul 2013 | Vampire Numbers: Numbers x * y that consist of the digits of x and | y | exercise solution codepad |
| 208 | 04 Feb 2011 | Excel Columns: Numbers as in Excel column names, A=1, | Z=26, IV=256 | exercise solution codepad |
| 42 | 16 Jun 2009 | Who Owns The | Zebra?: A logic puzzle, solved by embedding a Prolog-like logic system in Scheme | exercise solution codepad |
| 359 | 24 Jul 2012 | Zeckendorf Representation: Find the fibonacci numbers that sum to a given number | exercise solution codepad | |
| 174 | 08 Oct 2010 | Zeller’s Congruence: Calculate the day of the week for a given date | exercise solution codepad | |
| 365 | 14 Aug 2012 | 4SUM: Find four numbers in an array that sum to | zero | exercise solution codepad |
| 450 | 18 Jun 2013 | 3SUM: A classic of computer science: find three numbers in an array that sum to | zero | exercise solution codepad |
Mobile Site | Full Site
Get a free blog at WordPress.com Theme: WordPress Mobile Edition by Alex King.