| 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 |
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 |
| 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 |
Facebook |
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 |
print |
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 |
Google |
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 |