On Wed, Nov 18, 2015 at 5:43 PM, Yichao Yu <yyc1...@gmail.com> wrote:
> On Wed, Nov 18, 2015 at 11:37 AM, Michele Zaffalon > <michele.zaffa...@gmail.com> wrote: > > Hi all, > > > > I would be glad if somebody could explain to me why the following > function > > which generates a pair of random integer between 1 and 6 and if they are > > equal generates another pair > > > > function fun() > > d, N = 6, 50 > > for n = 1:N > > a, b = rand(1:d), rand(1:d) > > if a == b > > c, d = rand(1:d), rand(1:d) > > You realize you are overriding d to a smaller and smaller number until > you end up always calling rand(1:1) right? > This is very very embarrassing. > > println("$a, $b, $c, $d") > > end > > end > > end > > > > > > under Windows 7 64 bits and Julia 0.4.1 returns mostly 1s. > > > > julia> fun() > > 1, 1, 3, 3 > > 3, 3, 3, 2 > > 2, 2, 2, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > 1, 1, 1, 1 > > > > For small N, the output is more random though. > > > > Thank you, > > michele >