Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jaytaylor/1bc35d0a07181877e0d486faebdc6f6b to your computer and use it in GitHub Desktop.
Save jaytaylor/1bc35d0a07181877e0d486faebdc6f6b to your computer and use it in GitHub Desktop.
Test code for solution 2.35 from "The Algorithms Design Manual (Second-Edition)", see http://www.algorithm.cs.sunysb.edu/algowiki/index.php/TADM2E_2.35
>>> def count(n):
... x = 0
... m = 0
... while m < n:
... j = m
... while j < 2 * m:
... x += 1
... j += 1
... m += 1
... return x
...
>>> for x in range(1, 50):
... print('fn(x=%s) => %s, expected => %s' % (x, count(x), x * (x+1) / 2 - x))
...
fn(x=1) => 0, expected => 0
fn(x=2) => 1, expected => 1
fn(x=3) => 3, expected => 3
fn(x=4) => 6, expected => 6
fn(x=5) => 10, expected => 10
fn(x=6) => 15, expected => 15
fn(x=7) => 21, expected => 21
fn(x=8) => 28, expected => 28
fn(x=9) => 36, expected => 36
fn(x=10) => 45, expected => 45
fn(x=11) => 55, expected => 55
fn(x=12) => 66, expected => 66
fn(x=13) => 78, expected => 78
fn(x=14) => 91, expected => 91
fn(x=15) => 105, expected => 105
fn(x=16) => 120, expected => 120
fn(x=17) => 136, expected => 136
fn(x=18) => 153, expected => 153
fn(x=19) => 171, expected => 171
fn(x=20) => 190, expected => 190
fn(x=21) => 210, expected => 210
fn(x=22) => 231, expected => 231
fn(x=23) => 253, expected => 253
fn(x=24) => 276, expected => 276
fn(x=25) => 300, expected => 300
fn(x=26) => 325, expected => 325
fn(x=27) => 351, expected => 351
fn(x=28) => 378, expected => 378
fn(x=29) => 406, expected => 406
fn(x=30) => 435, expected => 435
fn(x=31) => 465, expected => 465
fn(x=32) => 496, expected => 496
fn(x=33) => 528, expected => 528
fn(x=34) => 561, expected => 561
fn(x=35) => 595, expected => 595
fn(x=36) => 630, expected => 630
fn(x=37) => 666, expected => 666
fn(x=38) => 703, expected => 703
fn(x=39) => 741, expected => 741
fn(x=40) => 780, expected => 780
fn(x=41) => 820, expected => 820
fn(x=42) => 861, expected => 861
fn(x=43) => 903, expected => 903
fn(x=44) => 946, expected => 946
fn(x=45) => 990, expected => 990
fn(x=46) => 1035, expected => 1035
fn(x=47) => 1081, expected => 1081
fn(x=48) => 1128, expected => 1128
fn(x=49) => 1176, expected => 1176
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment