Python 2, <del>75</del> 69 bytes ================================ <!-- language: lang-python --> from random import*;s=0;j=randrange while j(12):s=s*9+j(-8,9) print s It is trivial to check that the while loop in the middle can generate all integers (albeit biased towards zero). "12" is chosen such that there are roughly half of numbers exceeding ±10<sup>6</sup>. ----- Older solution: <del>Python 2, 44 bytes</del> ============================== <del>Based on the [Mathematica solution](http://codegolf.stackexchange.com/a/42807/32353).</del> <!-- language: lang-python --> from random import*;print int(gauss(0,8**7)) **Doesn't really work because Python's `float` has only finite precision.**