<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>I think you are right, for some reason i read it as the repetition of a specific number, and not a repetition of any of the numbers already done.<br><br><div>&gt; Date: Mon, 27 May 2013 00:36:46 +0200<br>&gt; Subject: Re: [racket] A problem with Windows 8?<br>&gt; From: olopierpa@gmail.com<br>&gt; To: tomcoiro@hotmail.com<br>&gt; CC: users@racket-lang.org<br>&gt; <br>&gt; I don't see how your function count-times implements the required algorithm.<br>&gt; <br>&gt; Please explain.<br>&gt; <br>&gt; <br>&gt; On Mon, May 27, 2013 at 12:01 AM, Tomás Coiro &lt;tomcoiro@hotmail.com&gt; wrote:<br>&gt; &gt; I'm trying to do this Rosetta Code problem:<br>&gt; &gt; http://rosettacode.org/wiki/Average_loop_length<br>&gt; &gt;<br>&gt; &gt; Now, this is my code<br>&gt; &gt; #lang racket<br>&gt; &gt; (require (only-in math factorial))<br>&gt; &gt;<br>&gt; &gt; (define (analytical n)<br>&gt; &gt;   (apply +<br>&gt; &gt;          (build-list n (compose (lambda (x) (/ (factorial n)<br>&gt; &gt;                                                (expt n x)<br>&gt; &gt;                                                (factorial (- n x))))<br>&gt; &gt;                                 add1))))<br>&gt; &gt;<br>&gt; &gt; (define (count-times x times)<br>&gt; &gt;   (if (= 0 (random x))<br>&gt; &gt;       (add1 times)<br>&gt; &gt;       (count-times x (add1 times))))<br>&gt; &gt;<br>&gt; &gt; (define (test n times)<br>&gt; &gt;   (/<br>&gt; &gt;    (for/fold ((count 0))<br>&gt; &gt;      ((i (in-range times)))<br>&gt; &gt;      (count-times n count))<br>&gt; &gt;    times))<br>&gt; &gt;<br>&gt; &gt; (define (test-table max-n times)<br>&gt; &gt;   (displayln " n\tavg\ttheory\terror")<br>&gt; &gt;   (displayln "-------------------------------")<br>&gt; &gt;   (for ((i (in-range 1 (add1 max-n))))<br>&gt; &gt;     (define average (exact-&gt;inexact (test i times)))<br>&gt; &gt;     (define theory (exact-&gt;inexact (analytical i)))<br>&gt; &gt;     (define difference (* (sub1 (/ average theory)) 100))<br>&gt; &gt;     (displayln (format "~a\t~a\t~a\t~a%" i average theory difference))))<br>&gt; &gt;<br>&gt; &gt; (test-table 20 100000)<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; Im not really worrying about the formatting of the output now, this is the<br>&gt; &gt; result.<br>&gt; &gt;  n    avg    theory    error<br>&gt; &gt; -------------------------------<br>&gt; &gt; 1    1.0    1.0    0.0%<br>&gt; &gt; 2    2.00036    1.5    33.35733333333335%<br>&gt; &gt; 3    3.00578    1.8888888888888888    59.12952941176472%<br>&gt; &gt; 4    4.00412    2.21875    80.46738028169015%<br>&gt; &gt; 5    5.0035    2.5104    99.31086679413636%<br>&gt; &gt; 6    6.00016    2.7746913580246915    116.24603337041157%<br>&gt; &gt; 7    7.01433    3.018138700711438    132.4058201283651%<br>&gt; &gt; 8    7.9905    3.2450180053710937    146.23900350550514%<br>&gt; &gt; 9    8.97363    3.4583157448856556    159.47977749778022%<br>&gt; &gt; 10    10.03618    3.66021568    174.19641019624285%<br>&gt; &gt; 11    10.97729    3.852372050737359    184.94885373023365%<br>&gt; &gt; 12    11.96714    4.036073675098951    196.50449826604333%<br>&gt; &gt; 13    12.96795    4.21234791295252    207.8556251283266%<br>&gt; &gt; 14    13.99396    4.382029424383519    219.34883691404528%<br>&gt; &gt; 15    15.09822    4.545807285147228    232.13506541140143%<br>&gt; &gt; 16    15.97676    4.704258247072678    239.62336166263555%<br>&gt; &gt; 17    16.99324    4.857870820801628    249.8083960412072%<br>&gt; &gt; 18    18.00859    5.007063098992893    259.6637318914995%<br>&gt; &gt; 19    18.941    5.152196200957448    267.62963329075353%<br>&gt; &gt; 20    20.05709    5.2935845860009    278.8942950499325%<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; the average loop length is too long, I'm worrying if the problem is my code<br>&gt; &gt; or if it actually is Windows 8.<br>&gt; &gt; I already got a different result with inexact numbers here:<br>&gt; &gt; http://rosettacode.org/wiki/Percentage_difference_between_images#Racket<br>&gt; &gt;<br>&gt; &gt; My question would be first, is my code wrong? (mainly "count-times")<br>&gt; &gt; If it isn't, do you guys get similar results? Could there be a bug in the<br>&gt; &gt; windows 32-bit installation for Windows 8?<br>&gt; &gt;<br>&gt; &gt; ____________________<br>&gt; &gt;   Racket Users list:<br>&gt; &gt;   http://lists.racket-lang.org/users<br>&gt; &gt;<br></div>                                               </div></body>
</html>