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
489 29 Oct 2013 Queues: Implement a basic data structure exercise solution codepad
486 29 Oct 2013 The 16 Game: Determine the odds in a scratch-off game exercise solution codepad
485 25 Oct 2013 Pessimal Algorithms And Simplexity Analysis: The slowsort algorithm using the multiply and surrender algorithms 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
483 18 Oct 2013 Binary Tree Traversal: Traverse a binary tree in pre-order and post-order 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
481 11 Oct 2013 Imperative-Style Linked Lists: A library of functions on imperative-style lists made from mutable 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
479 04 Oct 2013 Calculating Statistics: Read a file of integers and calculate mean, median and mode exercise solution codepad
478 01 Oct 2013 Lucas Sequences: Fast methods for calculating Lucas sequences, similar to Fibonacci sequences exercise solution codepad
477 27 Sep 2013 Double-Ended Priority Queues: Priority queues that permit access at both ends 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
475 20 Sep 2013 McCarthy’s 91 Function: A recursive function designed as a test case for formal verification exercise solution codepad
474 17 Sep 2013 Smallest Consecutive Four-Factor Composites: Find consecutive numbers with four factors exercise solution codepad
473 12 Sep 2013 Diffie Hellman Key Exchange: Manage secure exchanges on an insecure communications channel 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
471 03 Sep 2013 Yet More Bit Hacks: A time-honored tradition, and useful exercise solution codepad
470 30 Aug 2013 BMI Calculator: Calculate a person’s body mass index exercise solution codepad
469 27 Aug 2013 Two Sieving Problems: Use sieves to answer two prime-number questions exercise solution codepad
468 23 Aug 2013 Three Interview Questions: Three interview questions exercise solution codepad
467 20 Aug 2013 More Bit Hacks: A time-honored tradition, and useful exercise solution codepad
466 16 Aug 2013 Monkey Grid Puzzle: How many points can the monkey access? exercise solution codepad
465 13 Aug 2013 Unix Paths: Convert relative Unix path to absolute, by Robert Fisher exercise solution codepad
464 09 Aug 2013 Bit Hacks: A time-honored tradition, and useful exercise solution codepad
463 06 Aug 2013 Sophie Germain Primes: Primes p such that 2p+1 is also prime exercise solution codepad
462 02 Aug 2013 Ordered Hash Tables: Knuth’s improvement to simple hash tables exercise solution codepad
461 30 Jul 2013 Who Buys The Croissants?: Simulate an important Friday-morning question 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
459 23 Jul 2013 Telephone Lookup: A directory-assistance program by Mike Lesk exercise solution codepad
458 19 Jul 2013 J K Rowling: Identify an author using forensic linguistics 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
455 05 Jul 2013 Weekdays Between Two Dates: Number of days between two dates, excluding Saturday and Sunday exercise solution codepad
454 02 Jul 2013 Decoding Text-Speak: Expnd txt wth only intl vwls and n dbld ltrs 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
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
451 21 Jun 2013 Multiple Polynomial Quadratic Sieve: A greatly improved version of the basic quadratic 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
449 14 Jun 2013 The Digits of Pi, Again: Chudnovsky’s algorithm for the digits of pi 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
447 07 Jun 2013 Sets: A classic data structure and associated algorithms exercise solution codepad
446 04 Jun 2013 Egyptian Fractions: An ancient method of representing fractions exercise solution codepad
445 31 May 2013 The Seven Bridges of Königsberg: A classic graph puzzle due to Leonhard Euler exercise solution codepad
444 28 May 2013 Modular Multiplication Without Overflow: Perform modular multiplication without overflowing an integer datatype 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
441 17 May 2013 Coin Change, Part 1: Classic problem to count the ways to make change exercise solution codepad
440 14 May 2013 Optimal Alphabetical Order: Redefine the alphabet to improve alphabetical ordering exercise solution codepad
439 10 May 2013 MindCipher: Three exercises from the MindCipher puzzle website exercise solution codepad
438 07 May 2013 Three List Exercises: Three simple exercises on lists, for beginning programmers exercise solution codepad
437 03 May 2013 Pairing Students: Create sets of students, each paired to the other only once 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
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
433 19 Apr 2013 Integer Roots: Calculate square roots and higher roots in integer arithmetic exercise solution codepad
432 16 Apr 2013 Date Formatting: Neatly write a date in a variety of formats exercise solution codepad
431 12 Apr 2013 Booth’s Algorithm: Determine of two cyclic lists are equal exercise solution codepad
430 09 Apr 2013 Cyclic Equality: Determine if two cyclic lists are equal 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
428 02 Apr 2013 Quadratic Sieve With Large Primes: A (slightly) improved version of the basic quadratic sieve exercise solution codepad
427 29 Mar 2013 One Million Hits: Celebrating our one-millionth hit! 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
425 22 Mar 2013 Jumping Jack: Jump in increasing sizes along the number line exercise solution codepad
424 19 Mar 2013 Quadratic Sieve: Basic version of a powerful factoring algorithm exercise solution codepad
423 15 Mar 2013 Buffon’s Needle: Compute the value of π with a simulation exercise solution codepad
422 12 Mar 2013 An Array Of Two Symbols: A learning experience for binary search exercise solution codepad
421 08 Mar 2013 Knight Moves: Move a knight around a chess board 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
418 26 Feb 2013 An Odd Way To Square: Square a number without using multiplication or exponentiation exercise solution codepad
417 22 Feb 2013 Floupia: Make change in a strange currency 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
415 15 Feb 2013 Facebook Hacker Cup 2013, Round 1, Problem 1: Count the ways to win a card game 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
413 08 Feb 2013 The Biggest Prime: Print all 17-million digits of the largest known prime number 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
411 01 Feb 2013 Hofstadter’s Sequence: An infinite figure-figure sequence 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
408 18 Jan 2013 Triangle Trilemma: Determine if three points form a triangle, and classify it exercise solution codepad
407 15 Jan 2013 Translate CSV To Html: Convert between tabular storage forms exercise solution codepad
406 08 Jan 2013 Floating Point Rounding: Round a floating point number to a given decimal place exercise solution codepad
405 02 Jan 2013 Four Points Determine A Square: Determine if four given points form a square exercise solution codepad
404 01 Jan 2013 Happy New Year!: Find expressions that evaluate to 2013 exercise solution codepad
403 28 Dec 2012 Three Wise Men: Find the prices of their gifts exercise solution codepad
402 25 Dec 2012 The Twelve Days of Christmas: Count the gifts of Christmas exercise solution codepad
401 21 Dec 2012 Building Primes: Build the largest prime with all right-most subsequences also prime exercise solution codepad
400 18 Dec 2012 Petals Around The Rose: A game to celebrate our 400th exercise exercise solution codepad
399 14 Dec 2012 115132219018763992565095597973971522401: Calculate the sequence of narcissistic numbers exercise solution codepad
398 11 Dec 2012 Stepwise Program Development: A Heuristic Algorithm: A backtracking solution to a problem of Wirth exercise solution codepad
397 07 Dec 2012 Wirth Problem 15.12: Compute a sequence of numbers defined by Wirth exercise solution codepad
396 04 Dec 2012 Median Of Five: A very fast method to compute the median of five items exercise solution codepad
395 30 Nov 2012 Selection, Revisited: A guaranteed linear-time algorithm for selection exercise solution codepad
394 27 Nov 2012 Amazon Interview Question: Find the hundred points of a million closest to the origin exercise solution codepad
393 23 Nov 2012 Tonelli-Shanks Algorithm: Compute modular square roots exercise solution codepad
392 20 Nov 2012 List Difference: Another algorithm on linked lists exercise solution codepad
391 16 Nov 2012 List Intersection And Union: Two algorithms on linked lists, with multiple solutions exercise solution codepad
390 13 Nov 2012 Frobenius Primality Test: A pseudoprimality test, stronger than Miller-Rabin exercise solution codepad
389 09 Nov 2012 Taxicab Numbers: Confirm an interesting observation of Srinivasa Ramanujan 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
387 02 Nov 2012 Gasoline Mileage Log: Read a file of gasoline purchases to compute miles per gallon exercise solution codepad
386 30 Oct 2012 Pandigital Numbers: Find sums that include all ten digits exercise solution codepad
385 26 Oct 2012 Pythatorean Triples: Generate primitive pythagorean triples by an ancient algorithm exercise solution codepad
384 23 Oct 2012 Universal Hash Function: Compute a hash for any native Scheme datatype exercise solution codepad
383 19 Oct 2012 Prime Partitions: Compute the number of ways to sum primes to a target exercise solution codepad
382 16 Oct 2012 Version Control: Economically store multiple versions of text files exercise solution codepad
381 12 Oct 2012 Birthday Paradox: Use simulation to demonstrate the birthday paradox exercise solution codepad
380 09 Oct 2012 Two Word Games: Find words in a dictionary 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
377 28 Sep 2012 Pocklington’s N−1 Primality Prover: Prove n prime if n−1 can be partially factored exercise solution codepad
376 21 Sep 2012 Autumn Equinox: Calculate the length of the day; provides a time-handling library exercise solution codepad
375 18 Sep 2012 ABC Conjecture: Demonstrate a recently-proved conjecture of number theory exercise solution codepad
374 14 Sep 2012 Tribonacci Numbers: A variant of fibonacci numbers exercise solution codepad
373 11 Sep 2012 The Sum Of The First Billion Primes: Write a prime generator, and use it exercise solution codepad
372 07 Sep 2012 The First Two Programs: Hello World and a fahrenheit / celsius conversion table exercise solution codepad
371 04 Sep 2012 Fountain Codes: Transmit files over a lossy channel exercise solution codepad
370 31 Aug 2012 Once In A Blue Moon: Find months with two full moons 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
368 24 Aug 2012 Hash Tables With Open Addressing: An alternative to hash tables with chaining for collision resolution 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
365 14 Aug 2012 4SUM: Find four numbers in an array that sum to zero 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
363 07 Aug 2012 Make: The classic Unix utility for managing file dependencies 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
361 31 Jul 2012 SEND + MORE = MONEY, Part 1: Two slow solutions to a classic problem of recreational mathematics 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
359 24 Jul 2012 Zeckendorf Representation: Find the fibonacci numbers that sum to a given number exercise solution codepad
358 20 Jul 2012 Infix Expression Evaluation: Write a parser to evaluate arithmetic expressions exercise solution codepad
357 17 Jul 2012 Breshenham’s Line-Drawing Algorithm: Draw straight lines using raster graphics exercise solution codepad
356 13 Jul 2012 The Evolution Of Flibs: Use genetic programming to build a finite state machine 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
354 06 Jul 2012 Fractran: Write an interpreter for John Horton Conway’s language Fractran exercise solution codepad
353 03 Jul 2012 Chopping Words: Form a chain of words by removing letters one at a time exercise solution codepad
352 29 Jun 2012 Sliding Median: Find the median of the most recent k items in a stream 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
349 19 Jun 2012 Digits Of E: Two algorithms that compute the digits of e, one bounded, the other unbounded exercise solution codepad
348 15 Jun 2012 Counting Ones: Count the number of 1-digits in the numbers less than n exercise solution codepad
347 12 Jun 2012 Ordered Maps: A key/value dictionary that supports an ordering relationship exercise solution codepad
346 08 Jun 2012 Cat: The Unix V7 utility to catenate and print exercise solution codepad
345 05 Jun 2012 Binomial Heaps: Another algorithm for maintaining priority queues exercise solution codepad
344 01 Jun 2012 Square Roots: Four methods to compute square roots, including one from antiquity exercise solution codepad
344 25 May 2012 Streaming Median: Find the medians of a set of numbers as they arrive in a stream exercise solution codepad
343 25 May 2012 Ackermann’s Function: A fast-growing function that tests recursion exercise solution codepad
342 22 May 2012 Hamming Codes: Send messages over a noisy channel without error exercise solution codepad
341 18 May 2012 Formatted Numeric Output: A minimal version of C’s printf function 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
339 11 May 2012 partitions: Sets of integers that sum to a given integer exercise solution codepad
338 08 May 2012 Factor Tables: Table of factors of 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
336 01 May 2012 Legendre’s Symbol: Determine if a number is a quadratic residue mod m exercise solution codepad
335 27 Apr 2012 Trabb Pardo Knuth Algorithm: Trivial algorithm, used to explore an unfamiliar language exercise solution codepad
334 24 Apr 2012 Rhyming Dictionary: Find rhyming words for poets exercise solution codepad
333 20 Apr 2012 John Horton Conway’s Game Of Life: The classic cellular automata 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
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
330 10 Apr 2012 Galton: Simulate a marble-drop that forms a bell-shaped curve exercise solution codepad
329 06 Apr 2012 Voters: Watch voting blocks migrate on the screen exercise solution codepad
328 03 Apr 2012 Cornacchia’s Algorithm: Find solutions to quadratic diophantine equations 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
325 23 Mar 2012 Base-26 Arithmetic: Perform arithmetic on integers represented as strings of letters exercise solution codepad
324 20 Mar 2012 Factoring Multiple RSA Keys: Exploit a key-generation weakness to factor RSA keys 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
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
321 09 Mar 2012 Sparse Sets: Clever data structure for storing sparse sets of small integers 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
319 02 Mar 2012 Balanced Delimiters: Determine if nested delimiters are properly balanced 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
317 24 Feb 2012 Remove Characters From A String: Remove from one string any character in a second string exercise solution codepad
316 21 Feb 2012 Learn A New Language: Solve the exercise of your choice in an unfamiliar language exercise solution codepad
315 17 Feb 2012 Hailstones: Examine the Collatz sequence exercise solution codepad
314 14 Feb 2012 Divisors: Find divisors using a sieve 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
312 07 Feb 2012 Solar Compass: Determine North by sighting the Sun exercise solution codepad
311 03 Feb 2012 Roman Numeral Puzzle: Count the Roman numerals with no repeated digits exercise solution codepad
310 31 Jan 2012 String Rotation: Determine if two strings are rotations of each other exercise solution codepad
309 27 Jan 2012 Anagram Phrases: “Gin grammar prop six” is an anagram for “Programming Praxis” exercise solution codepad
308 24 Jan 2012 A Dozen Lines Of Code: Do something cool in a small space exercise solution codepad
307 20 Jan 2012 Knights On A Keypad: Count the number of knight paths on a keypad exercise solution codepad
306 17 Jan 2012 Guess The Number: Number-guessing game for children learning arithmetic exercise solution codepad
305 13 Jan 2012 Excel’s XIRR Function: Numerical calculation of a derivative 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
303 06 Jan 2012 Pritchard’s Wheel Sieve: An alternative to the Sieve of Eratosthenes with a faster asymptotic time complexity 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
301 30 Dec 2011 Split: Split a list in two halves using the tortoise-and-hare algorithm exercise solution codepad
300 27 Dec 2011 Cheating Hangman: A version of Hangman that nearly always wins exercise solution codepad
299 23 Dec 2011 Koch’s Snowflake: Draw a fractal snowflake using PostScript exercise solution codepad
298 20 Dec 2011 Hangman: Classic Unix V7 game for guessing words exercise solution codepad
297 16 Dec 2011 Majority Voting: Determine the results of an election 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
294 06 Dec 2011 Pascal’s Triangle: Display the binomial coefficients exercise solution codepad
293 02 Dec 2011 Knight Rider: Classic problem of the knight’s tour exercise solution codepad
292 29 Nov 2011 AVL Trees, Extended: Add additional functionality to AVL trees exercise solution codepad
291 25 Nov 2011 AVL Trees: Basic implementation of the original balanced-tree algorithm exercise solution codepad
290 22 Nov 2011 Rabin’s Cryptosystem: Public-key cryptosystem, similar to RSA exercise solution codepad
289 18 Nov 2011 Grade School Multiplication: Display the steps in the grade school multiplication algorithm 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
287 11 Nov 2011 Generators: Write functions that yield a value, but can then be re-entered 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
285 04 Nov 2011 Craps: Simulate a popular game of gambling with dice 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
283 28 Oct 2011 Crypt: Simple encryption tool from Kernighan and Plauger exercise solution codepad
282 25 Oct 2011 Cksum: Unix checksum utility exercise solution codepad
281 21 Oct 2011 Sum, Revisited: SysV and Berkeley versions of the Unix V7 sum command exercise solution codepad
280 18 Oct 2011 The Wall: Ray Panko’s spreadsheet exercise 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
279 11 Oct 2011 Tower Of Hanoi: Classic demonstration of recursion exercise solution codepad
278 07 Oct 2011 Sieve of Sundaram: Sieving for prime numbers using a method from India exercise solution codepad
277 04 Oct 2011 Brainfuck: Interpreter for a Turing-line language exercise solution codepad
276 30 Sep 2011 Logarithm Tables: Print old-fashioned tables of logarithms and anti-logarithms exercise solution codepad
275 27 Sep 2011 Statistics: Calculate the mean, standard deviation, linear regression and correlation exercise solution codepad
274 23 Sep 2011 Array Duplicates: Find the duplicate integer in a large array exercise solution codepad
273 20 Sep 2011 Project Euler Problem 3: Thorough explanation of integer factorization by trial division 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
271 13 Sep 2011 Tetrahedral Numbers: Find the base of the tetrahedron that contains 169179692512835000 balls exercise solution codepad
270 09 Sep 2011 Mersenne Twister: Random number generator with very long period, useful for simulations exercise solution codepad
269 06 Sep 2011 Deques: Library implementation of double-ended queues exercise solution codepad
268 02 Sep 2011 Two String Exercises: Remove duplicate characters, and squish adjacent blanks 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
266 26 Aug 2011 Reverse Every K Nodes Of A Linked List: Reverse the elements of a sub-list exercise solution codepad
265 23 Aug 2011 Knapsack: Fill a knapsack to maximize the value of its contents 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
263 16 Aug 2011 Insert Into A Cyclic Sorted List: Insert a new element into a cyclic list, in order exercise solution codepad
262 12 Aug 2011 Word Breaks: Insert spaces between words: applepie => apple pie 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
260 05 Aug 2011 Ninety-Nine Bottles Of Beer: The popular song exercise solution codepad
259 02 Aug 2011 The Nth Prime: The n prime, counting from p1 = 2 exercise solution codepad
258 29 Jul 2011 Approximating Pi: Approximating pi with the logarithmic integral and Riemann’s R 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
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
255 19 Jul 2011 Sum Of Two Integers: Determine if two integers in a list sum to a target 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
252 08 Jul 2011 Vedic Divisibility: Use a method of testing divisibility using the method of osculators developed in India 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
250 01 Jul 2011 Feet And Inches: Convert decimal inches to carpenters’ fractions exercise solution codepad
249 28 Jun 2011 Big Numbers: Functions: A library for big integers: gcd, powering, square root, random numbers exercise solution codepad
248 24 Jun 2011 Thank God It’s Friday!: Three methods to calculate the day of the week exercise solution codepad
247 21 Jun 2011 Big Numbers: Testing: A library for big integers: testing exercise solution codepad
246 17 Jun 2011 Adi Shamir’s Threshold Scheme: Use cryptography to share a secret, by Graham Enos 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
244 10 Jun 2011 Steganography: A hand-operable system that combines cryptography and steganography 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
242 03 Jun 2011 Mersenne Primes: The Lucas-Lehmer test for identifying primes of the form 2n−1 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
240 27 May 2011 Upside Up: Numbers that read the same upside down exercise solution codepad
239 24 May 2011 Big Numbers: Getting Started: A library for big integers: representation, comparison, simple functions exercise solution codepad
238 20 May 2011 ISBN Validation: Validate ISBN book numbers, and fetch author and title from the internet exercise solution codepad
237 17 May 2011 Two Bad Sorts: Stooge sort and bogosort are worse than quadratic exercise solution codepad
236 13 May 2011 Dixon’s Factorization Algorithm: A slow, but theoretically important, algorithm for integer factorization exercise solution codepad
235 10 May 2011 Comm: select or reject lines common to two sorted files exercise solution codepad
234 06 May 2011 Entab And Detab: expand tabs into spaces, and replace spaces with tabs exercise solution codepad
233 03 May 2011 Squaring The Bishop: Charles Babbage’s game of word squares 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
231 26 Apr 2011 Miscellanea: FizzBuzz, Prime Words, and Split A List exercise solution codepad
230 22 Apr 2011 Xref: Programmer’s cross-reference utility 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
228 15 Apr 2011 Partition Numbers: Calculate the partition numbers, using memoization via growing arrays exercise solution codepad
227 12 Apr 2011 House Of Representatives: Apportion representatives by the Huntington-Hill method exercise solution codepad
226 08 Apr 2011 Credit Card Validation: Validate decimal numbers using the Luhn algorithm exercise solution codepad
225 05 Apr 2011 Fortune: Print a random aphorism from a file exercise solution codepad
224 01 Apr 2011 Maximum Difference In An Array: Find maximum Xj &minus Xi, with ij exercise solution codepad
223 28 Mar 2011 Look And Say, Revisited: Compute Conway’s constant exercise solution codepad
222 25 Mar 2011 Sum: The standard Unix V7 file-checksum command 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
220 18 Mar 2011 Loopy Loops: Print the numbers from 1 to 1000 without using loops or conditionals exercise solution codepad
219 15 Mar 2011 Look And Say: Calculate John Horton Conway’s "Look and Say" sequence 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
217 08 Mar 2011 Reverse Words: Reverse the words in an input string exercise solution codepad
216 04 Mar 2011 Chutes And Ladders: Simulate a child’s game, and compute its statistics 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
214 25 Feb 2011 Sieve Of Euler: An alternate, and slow, method of sieving for primes exercise solution codepad
213 22 Feb 2011 Sliding Window Minimum: List of minimums sliding across an input list exercise solution codepad
212 18 Feb 2011 Two Factoring Games: Home primes and the Euclid-Mullin sequence exercise solution codepad
211 15 Feb 2011 Google Code Jam Qualification Round Africa 2010: Three simple exercises exercise solution codepad
210 11 Feb 2011 Sums Of Powers: Use Bernoulli numbers to quickly compute sums of powers 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
208 04 Feb 2011 Excel Columns: Numbers as in Excel column names, A=1, Z=26, IV=256 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
206 28 Jan 2011 Population Count: Count the number of set bits (1-bits) in the binary representation of an integer exercise solution codepad
205 25 Jan 2011 Rational Numbers: A library of basic arithmetic and comparison of fractions exercise solution codepad
204 21 Jan 2011 Pollard Rho, Revisited: Richard Brent’s variant of John Pollard’s rho algorithm for integer factorization exercise solution codepad
203 18 Jan 2011 Solitaire Cipher: Bruce Schneier’s strong cryptography based on a deck of playing cards exercise solution codepad
202 14 Jan 2011 Slots: Simulate a slot machine exercise solution codepad
201 11 Jan 2011 Two Integrals: The exponential and logarithmic integral, and an approximation for prime-pi exercise solution codepad
200 07 Jan 2011 Counting Primes: The prime counting function and nth-prime function 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
198 31 Dec 2010 Arithmetic Drill: Repetitious drill for children learning basic arithmetic 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
196 24 Dec 2010 Tracking Santa: How far does Santa travel on his annual journey? exercise solution codepad
195 21 Dec 2010 Interval Arithmetic: An exercise from SICP exercise solution codepad
194 17 Dec 2010 Polite Numbers: Write numbers as the sum of two or more consecutive integers exercise solution codepad
193 14 Dec 2010 Longest Duplicated Substring: Use a sorted suffix list exercise solution codepad
192 10 Dec 2010 Two Random Selections: Use random number to select fortunes and lotto winners exercise solution codepad
191 07 Dec 2010 Ullman’s Puzzle: It never hurts to sort exercise solution codepad
190 03 Dec 2010 Maximum Sum Subsequence: A classic programming exercise due to Jon Bentley exercise solution codepad
189 30 Nov 2010 Form Letters: Merge a schema and a data file to write form letters exercise solution codepad
188 26 Nov 2010 Divisors And Totatives: The number-theoretic functions divisors, numdivs, sumdivs, totatives, and totient exercise solution codepad
187 23 Nov 2010 String Subsets: Determine if one string is a subset of another exercise solution codepad
186 19 Nov 2010 Topological Sort: Order the edges of a graph by their precedence relationship exercise solution codepad
185 16 Nov 2010 RSA Cryptography: The original public-key cryptographic system, still in wide use exercise solution codepad
184 12 Nov 2010 Rowland’s Prime-Generating Function: A sequence of ones and primes exercise solution codepad
183 09 Nov 2010 Subset Sums: Third level of the Greplin Programming Challenge, using dynamic programming and memoization exercise solution codepad
182 05 Nov 2010 Weather Forecast: Fetch the weather forecast from the internet exercise solution codepad
181 02 Nov 2010 Emirps: Prime numbers that are prime when their digits are reversed, but not palindromic 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
179 26 Oct 2010 Benford’s Law: A useful mathematical oddity, and an example of text file databases 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
176 15 Oct 2010 Find The Longest Palindrome In A String: A beautiful linear-time algorithm due to Johan Jeuring 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
174 08 Oct 2010 Zeller’s Congruence: Calculate the day of the week for a given date 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
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
171 28 Sep 2010 Maxiphobic Heaps: A priority-queue data structure, similar to leftist heaps, due to Chris Okasaki exercise solution codepad
170 24 Sep 2010 Alien Numbers: An exercise from Google Code Jam exercise solution codepad
169 21 Sep 2010 Kaprekar Numbers: Square the number and add the digits in halves 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
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
166 10 Sep 2010 Data Encryption Standard: Part 4: DES driver program 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
163 31 Aug 2010 Data Encryption Standard: Part 1: Basic block enciphering and deciphering using DES exercise solution codepad
162 27 Aug 2010 Chinese Remainders: An ancient application of modular inverses 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
160 20 Aug 2010 Marriage Sort: A sub-quadratic sort similar to shell sort or comb sort exercise solution codepad
159 17 Aug 2010 Cut: Select fields or characters from input lines exercise solution codepad
158 13 Aug 2010 E: A simple simulation with a surprising ending exercise solution codepad
157 10 Aug 2010 Literate Programming: Structured documentation in the style of Donald Knuth exercise solution codepad
156 06 Aug 2010 Two Powering Predicates: Determine if a number is a square or a prime power 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
154 30 Jul 2010 Fibonacci Numbers: Three algorithms taking exponential time, linear time, and logarithmic time exercise solution codepad
153 27 Jul 2010 HAMURABI.BAS: Manage grain and land in ancient Sumeria exercise solution codepad
152 23 Jul 2010 Happy Numbers: Iterating the sum of the squares of the digits terminates with one exercise solution codepad
151 20 Jul 2010 Solving Systems Of Linear Equations: Matrix operations LU-decomposition and LUP-decomposition exercise solution codepad
150 16 Jul 2010 Contents: Themes: Blog Management exercise solution codepad
149 13 Jul 2010 Word Cube: A game to form words from a given set of letters exercise solution codepad
148 09 Jul 2010 Contents: Permuted Table Of Contents: Blog management exercise solution codepad
147 06 Jul 2010 Chaocipher: First look at a ninety-two year old autokey-type cipher exercise solution codepad
146 02 Jul 2010 Contents: Chronological Listing Of Exercises: Blog management exercise solution codepad
145 29 Jun 2010 World Cup Prognostication: Simulate the knockout stage using elo ratings exercise solution codepad
144 25 Jun 2010 Learn A New Language: Solve the exercise of your choice in an unfamiliar language exercise solution codepad
143 22 Jun 2010 Matrix Operations: Matrix addition, scalar multiplication, multiplication and transposition exercise solution codepad
142 18 Jun 2010 Parsing Command-Line Arguments: An old-style getopt function exercise solution codepad
141 15 Jun 2010 Natural Join: The fundamental relational database operator exercise solution codepad
140 11 Jun 2010 N-Queens: Our version of a classic algorithmic exercise exercise solution codepad
139 08 Jun 2010 Diff: Find the differences between two text files 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
137 01 Jun 2010 Unwrapping A Spiral: An exercise in recursion exercise solution codepad
136 28 May 2010 Printing Files: A simple program to list files, similar to the unix pr program 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
134 07 May 2010 Integer Logarithms: An improved algorithm is O(log n) instead of O(n) exercise solution codepad
133 04 May 2010 Spectacular Seven: Compute the odds at jai alai 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
131 27 Apr 2010 Modern Elliptic Curve Factorization, Part 2: Elliptic arithmetic using Montgomery’s parameterization exercise solution codepad
130 23 Apr 2010 Modern Elliptic Curve Factorization, Part 1: Elliptic arithmetic using Montgomery’s parameterization 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
128 16 Apr 2010 Expression Evaluation: Parse and evaluate an arithmetic expression with plus, minus, times, divide and parentheses 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
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
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
124 02 Apr 2010 Disjoint Sets: A data structure for storing sets of items in disjoint partitions exercise solution codepad
123 30 Mar 2010 Passover: Calculate the dates of the Jewish holidays Rosh Hashanah and Passover exercise solution codepad
122 26 Mar 2010 The Next Prime: Efficiently find the next prime number larger than a given number exercise solution codepad
121 23 Mar 2010 Texas Hold ‘Em: Find the best poker hand 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
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
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
116 05 Mar 2010 Binary Search Tree: Classic data structure, providing insert, delete and lookup for ordered datatypes 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
114 26 Feb 2010 Run Length Encoding: A simple compression method for text files exercise solution codepad
113 23 Feb 2010 Engineering A Sort Function: A high-performance quicksort by Jon Bentley and Doug McIlroy exercise solution codepad
112 19 Feb 2010 Sieve Of Atkin, Improved: A faster version of the Sieve of Atkin 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
110 12 Feb 2010 Sieve of Atkin: A modern alternative to the Sieve of Eratosthenes for computing prime numbers exercise solution codepad
109 09 Feb 2010 Numerical Integration: Quadrature by the rectangular, trapezoidal and Simpson’s method, including adaptive quadrature exercise solution codepad
108 05 Feb 2010 Segmented Sieve Of Eratosthenes: Extend the Sieve of Eratosthenes to large ranges of integers exercise solution codepad
107 02 Feb 2010 Proving Primality: A deterministic, not probabilistic, method of checking primality 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
105 26 Jan 2010 Primality Checking, Revisited: The Baillie-Wagstaff algorithm for primality checking exercise solution codepad
104 22 Jan 2010 Phases Of The Moon: Calculate the number of days since the last new moon exercise solution codepad
103 19 Jan 2010 Flight Planning: Computing the navigation triangle, by Jos Koot exercise solution codepad
102 15 Jan 2010 Three Binary Algorithms: Multiplication, division and greatest common divisor using binary arithmetic 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
100 08 Jan 2010 Nim: A two-player game of mathematical logic exercise solution codepad
99 05 Jan 2010 The Sum Of Two Squares: A math puzzle with a solution by Dijkstra exercise solution codepad
98 01 Jan 2010 Cal: Print a twelve-month calendar exercise solution codepad
97 29 Dec 2009 A Statisticle Speling Korrecter: Peter Norvig’s version of the Google spelling suggester exercise solution codepad
96 22 Dec 2009 Permuted Index: David Parnas’ classic deconstruction of the keyword-in-context index 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
94 15 Dec 2009 Affine-Shift Cipher: A cryptographically weak but mathematically interesting cipher exercise solution codepad
93 11 Dec 2009 Selection: Find the kth-largest item in a list exercise solution codepad
92 08 Dec 2009 Word Count: An implementation of the unix wc program exercise solution codepad
91 04 Dec 2009 Autokey: A cipher in which the input text forms part of the key exercise solution codepad
90 01 Dec 2009 Wolves And Rabbits: Analyze population dynamics using the Lotka-Volterra equations 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
88 24 Nov 2009 Sunrise, Sunset: Calculate the times of sunrise and sunset on any day anywhere in the world exercise solution codepad
87 20 Nov 2009 Master Mind, Part 2: Solve a Master Mind puzzle in five probes or less exercise solution codepad
86 17 Nov 2009 Master Mind, Part 1: Referee a two-player game of deductive logic exercise solution codepad
85 13 Nov 2009 Two linear sorts: Count sort and radix sort exploit the structure of integer keys 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
82 03 Nov 2009 Quick Sort: Tony Hoare’s divide-and-conquer sorting algorithm exercise solution codepad
81 30 Oct 2009 Two Sub-Quadratic Sorts: Comb sort and shell sort exercise solution codepad
80 27 Oct 2009 Three Quadratic Sorts: Bubble sort, selection sort and insertion sort exercise solution codepad
79 23 Oct 2009 Mr. S. and Mr. P.: A logic puzzle popularized by John McCarthy 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
76 13 Oct 2009 Bifid: A simple but effective fractionating cipher, never used militarily 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
74 06 Oct 2009 MapReduce: Google’s famous system for parallelizing computations expressed as a programming idiom exercise solution codepad
73 02 Oct 2009 Red-Black Trees: A purely functional dictionary data structure based on approximately-balanced trees exercise solution codepad
72 29 Sep 2009 Green Eyes: A counting problem from high-school math exercise solution codepad
71 25 Sep 2009 Grep: Simple version of the classic unix regular-expression matching utility exercise solution codepad
70 22 Sep 2009 Regular Expressions, Part 3: A regular expression test suite exercise solution codepad
69 18 Sep 2009 Regular Expressions, Part 2: The corresponding matcher exercise solution codepad
68 15 Sep 2009 Regular Expressions, Part 1: A parser for regular expressions exercise solution codepad
67 11 Sep 2009 Beautiful Code: A simple regular-expression matcher by Rob Pike exercise solution codepad
66 08 Sep 2009 Porter Stemming: Martin Porter’s algorithm for removing suffices from word stems 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
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
62 25 Aug 2009 String Search: Knuth-Morris-Pratt: Search for a pattern in a text using an O(n) 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
60 18 Aug 2009 Blum Blum Shub: Stream cipher based on a cryptographically secure pseudo-random number generator exercise solution codepad
59 14 Aug 2009 Pairing Heaps: A standard algorithm for maintaining priority queues 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
57 07 Aug 2009 ADFGX: A classic German military field cipher from the First World War exercise solution codepad
56 04 Aug 2009 Lenstra’s Algorithm: Hendrik Lenstra’s original algorithm for elliptic curve factorization exercise solution codepad
55 31 Jul 2009 Elliptic Curve Factorization: A very simple implementation of elliptic curve factorization exercise solution codepad
54 28 Jul 2009 Elliptic Curves: Library of basic functions on elliptic curves exercise solution codepad
53 24 Jul 2009 Let’s Make A Deal!: Simulate a tricky probability calculation exercise solution codepad
52 21 Jul 2009 Pollard’s P−1 Factorization Algorithm: A simple factorization algorithm by John Pollard exercise solution codepad
51 17 Jul 2009 International Mathematical Olympiad: Three exercises from 1960s math competitions exercise solution codepad
50 14 Jul 2009 The Daily Cryptogram: Solve a monoalphabetic substitution cipher exercise solution codepad
49 10 Jul 2009 The Golden Ratio: Evaluate a continued fraction, based on my daughter’s math homework 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
47 03 Jul 2009 The Playfair Cipher: A classic military field 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
45 26 Jun 2009 Treaps: A randomized dictionary data structure, provides in-order access to key exercise solution codepad
44 23 Jun 2009 The Mod Out System: Expand a series of ranges exercise solution codepad
43 19 Jun 2009 Monte Carlo Factorization: Integer factorization via Pollard’s rho 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
41 12 Jun 2009 Feynman’s Puzzle: A simple logic puzzle exercise solution codepad
40 09 Jun 2009 Longest Common Subsequence: A classic programming algorithm, with a solution that dates to folklore exercise solution codepad
39 05 Jun 2009 Ternary Search Tries: Build a function library for handling ternary search tries exercise solution codepad
38 02 Jun 2009 Pig Latin: A simple exercise to solve a children’s game exercise solution codepad
37 29 May 2009 Double Transposition Cipher: A simple and effective cipher, easy to perform by hand exercise solution codepad
36 26 May 2009 Word Search Solver: A computerized implementation of a popular time-waster exercise solution codepad
35 22 May 2009 The Next Palindrome: Find the next palindromic number greater than the input number exercise solution codepad
34 19 May 2009 Fermat’s Method: Integer factorization by Fermat’s algorithm 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
32 12 May 2009 Loan Amortization: Calculate and print a simple loan amortization table exercise solution codepad
31 08 May 2009 Wheel Factorization: Find the factors of a number by a variant of trial division exercise solution codepad
30 05 May 2009 Priority Queues: A simple library implementation of the priority queue data structure exercise solution codepad
29 01 May 2009 Primality Checking: A probabilistic primality checker by Gary Miller and Michael Rabin 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
27 24 Apr 2009 Word Hy-phen-a-tion By Com-pu-ter: Frank Liang’s hyphenation algorithm, used in TeX 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
24 14 Apr 2009 Google Treasure Hunt 2008 Puzzle 4: A prime-number puzzle exercise solution codepad
23 10 Apr 2009 Anagrams: Find anagrams in a dictionary exercise solution codepad
22 07 Apr 2009 Flipping Pancakes: A sorting method analyzed by Bill Gates exercise solution codepad
21 03 Apr 2009 Programming the Turing Machine: A turing-machine program to multiply two numbers exercise solution codepad
20 31 Mar 2009 Rail-Fence Cipher: A simple transposition cipher exercise solution codepad
19 27 Mar 2009 A Turing Machine Simulator: An interpreter for a single-tape, multi-symbol turing machine exercise solution codepad
18 23 Mar 2009 Binary Search: A simple task, easy to get wrong exercise solution codepad
17 20 Mar 2009 Dodgson's Doublets: A word game invented by the author of Alice in Wonderland 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
15 13 Mar 2009 Friday, the Thirteenth: A small calendar library, and a simple use of it exercise solution codepad
14 10 Mar 2009 Word Frequencies: Our interpretation of a problem solved by a classic unix pipeline exercise solution codepad
13 06 Mar 2009 Roman Numerals: A library to read and write Roman numerals exercise solution codepad
12 03 Mar 2009 Creation: Cryptanalysis of a Vigenère cipher exercise solution codepad
11 27 Feb 2009 Mark V. Shaney: Generate parodies of a text using a Markov chain exercise solution codepad
10 24 Feb 2009 Mardi Gras: Compute the date of Easter exercise solution codepad
9 20 Feb 2009 A Self-Reproducing Program: The quintessential quine exercise solution codepad
8 20 Feb 2009 The Digits of Pi: A spigot algorithm to calculate the digits of pi exercise solution codepad
7 20 Feb 2009 Multiple Dwellings: A simple logic puzzle, solved with the amb non-deterministic operator exercise solution codepad
6 20 Feb 2009 ROT13: A simple Caesar-shift cipher exercise solution codepad
5 19 Feb 2009 Flavius Josephus: Programming a cyclical list exercise solution codepad
4 19 Feb 2009 Sudoku: A backtracking solution to everybody’s favorite puzzle exercise solution codepad
3 19 Feb 2009 Bingo: Calculate the probability of winning at Bingo exercise solution codepad
2 19 Feb 2009 Sieve of Eratosthenes: A Scheme implementation of an ancient algorithm exercise solution codepad
1 19 Feb 2009 RPN Calculator: Evaluate numeric expressions at the command line exercise solution codepad