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 |
|