Pólya urn flip and roll












13












$begingroup$


Problem statement



Pólya is playing about with his urn again and he wants you to help him calculate some probabilities.



In this urn experiment Pólya has an urn which initially contains 1 red and 1 blue bead.



For every iteration, he reaches in and retrieves a bead, then inspects the colour and places the bead back in the urn.



He then flips a fair coin, if the coin lands heads he will insert a fair 6 sided die roll amount of the same coloured bead into the urn, if it lands tails he will remove half the number of the same colored bead from the urn (Using integer division - so if the number of beads of the selected colour is odd he will remove (c-1)/2 where c is the number of beads of that colour)



Given an integer n ≥ 0 and a decimal r > 0, give the probability to 2 decimal places that the ratio between the colours of beads after n iterations is greater than or equal to r in the shortest number of bytes.



An example set of iterations:



Let (x, y) define the urn such that it contains x red beads and y blue beads.



Iteration    Urn       Ratio
0 (1,1) 1
1 (5,1) 5 //Red bead retrieved, coin flip heads, die roll 4
2 (5,1) 5 //Blue bead retrieved, coin flip tails
3 (3,1) 3 //Red bead retrieved, coin flip tails
4 (3,4) 1.333... //Blue bead retrieved, coin flip heads, die roll 3


As can be seen the Ratio r is always ≥ 1 (so it's the greater of red or blue divided by the lesser)



Test cases:



Let F(n, r) define application of the function for n iterations and a ratio of r



F(0,5) = 0.00
F(1,2) = 0.50
F(1,3) = 0.42
F(5,5) = 0.28
F(10,4) = 0.31
F(40,6.25) = 0.14


This is code golf, so the shortest solution in bytes wins.










share|improve this question











$endgroup$












  • $begingroup$
    I feel like there is a formula for this...
    $endgroup$
    – Embodiment of Ignorance
    Mar 15 at 18:10










  • $begingroup$
    Something to do with beta binomials maybe, but it might be longer to write that out
    $endgroup$
    – Expired Data
    Mar 15 at 18:13










  • $begingroup$
    depends on the language; R and Mathematica might be able to do it efficiently.
    $endgroup$
    – Giuseppe
    Mar 15 at 20:45
















13












$begingroup$


Problem statement



Pólya is playing about with his urn again and he wants you to help him calculate some probabilities.



In this urn experiment Pólya has an urn which initially contains 1 red and 1 blue bead.



For every iteration, he reaches in and retrieves a bead, then inspects the colour and places the bead back in the urn.



He then flips a fair coin, if the coin lands heads he will insert a fair 6 sided die roll amount of the same coloured bead into the urn, if it lands tails he will remove half the number of the same colored bead from the urn (Using integer division - so if the number of beads of the selected colour is odd he will remove (c-1)/2 where c is the number of beads of that colour)



Given an integer n ≥ 0 and a decimal r > 0, give the probability to 2 decimal places that the ratio between the colours of beads after n iterations is greater than or equal to r in the shortest number of bytes.



An example set of iterations:



Let (x, y) define the urn such that it contains x red beads and y blue beads.



Iteration    Urn       Ratio
0 (1,1) 1
1 (5,1) 5 //Red bead retrieved, coin flip heads, die roll 4
2 (5,1) 5 //Blue bead retrieved, coin flip tails
3 (3,1) 3 //Red bead retrieved, coin flip tails
4 (3,4) 1.333... //Blue bead retrieved, coin flip heads, die roll 3


As can be seen the Ratio r is always ≥ 1 (so it's the greater of red or blue divided by the lesser)



Test cases:



Let F(n, r) define application of the function for n iterations and a ratio of r



F(0,5) = 0.00
F(1,2) = 0.50
F(1,3) = 0.42
F(5,5) = 0.28
F(10,4) = 0.31
F(40,6.25) = 0.14


This is code golf, so the shortest solution in bytes wins.










share|improve this question











$endgroup$












  • $begingroup$
    I feel like there is a formula for this...
    $endgroup$
    – Embodiment of Ignorance
    Mar 15 at 18:10










  • $begingroup$
    Something to do with beta binomials maybe, but it might be longer to write that out
    $endgroup$
    – Expired Data
    Mar 15 at 18:13










  • $begingroup$
    depends on the language; R and Mathematica might be able to do it efficiently.
    $endgroup$
    – Giuseppe
    Mar 15 at 20:45














13












13








13


4



$begingroup$


Problem statement



Pólya is playing about with his urn again and he wants you to help him calculate some probabilities.



In this urn experiment Pólya has an urn which initially contains 1 red and 1 blue bead.



For every iteration, he reaches in and retrieves a bead, then inspects the colour and places the bead back in the urn.



He then flips a fair coin, if the coin lands heads he will insert a fair 6 sided die roll amount of the same coloured bead into the urn, if it lands tails he will remove half the number of the same colored bead from the urn (Using integer division - so if the number of beads of the selected colour is odd he will remove (c-1)/2 where c is the number of beads of that colour)



Given an integer n ≥ 0 and a decimal r > 0, give the probability to 2 decimal places that the ratio between the colours of beads after n iterations is greater than or equal to r in the shortest number of bytes.



An example set of iterations:



Let (x, y) define the urn such that it contains x red beads and y blue beads.



Iteration    Urn       Ratio
0 (1,1) 1
1 (5,1) 5 //Red bead retrieved, coin flip heads, die roll 4
2 (5,1) 5 //Blue bead retrieved, coin flip tails
3 (3,1) 3 //Red bead retrieved, coin flip tails
4 (3,4) 1.333... //Blue bead retrieved, coin flip heads, die roll 3


As can be seen the Ratio r is always ≥ 1 (so it's the greater of red or blue divided by the lesser)



Test cases:



Let F(n, r) define application of the function for n iterations and a ratio of r



F(0,5) = 0.00
F(1,2) = 0.50
F(1,3) = 0.42
F(5,5) = 0.28
F(10,4) = 0.31
F(40,6.25) = 0.14


This is code golf, so the shortest solution in bytes wins.










share|improve this question











$endgroup$




Problem statement



Pólya is playing about with his urn again and he wants you to help him calculate some probabilities.



In this urn experiment Pólya has an urn which initially contains 1 red and 1 blue bead.



For every iteration, he reaches in and retrieves a bead, then inspects the colour and places the bead back in the urn.



He then flips a fair coin, if the coin lands heads he will insert a fair 6 sided die roll amount of the same coloured bead into the urn, if it lands tails he will remove half the number of the same colored bead from the urn (Using integer division - so if the number of beads of the selected colour is odd he will remove (c-1)/2 where c is the number of beads of that colour)



Given an integer n ≥ 0 and a decimal r > 0, give the probability to 2 decimal places that the ratio between the colours of beads after n iterations is greater than or equal to r in the shortest number of bytes.



An example set of iterations:



Let (x, y) define the urn such that it contains x red beads and y blue beads.



Iteration    Urn       Ratio
0 (1,1) 1
1 (5,1) 5 //Red bead retrieved, coin flip heads, die roll 4
2 (5,1) 5 //Blue bead retrieved, coin flip tails
3 (3,1) 3 //Red bead retrieved, coin flip tails
4 (3,4) 1.333... //Blue bead retrieved, coin flip heads, die roll 3


As can be seen the Ratio r is always ≥ 1 (so it's the greater of red or blue divided by the lesser)



Test cases:



Let F(n, r) define application of the function for n iterations and a ratio of r



F(0,5) = 0.00
F(1,2) = 0.50
F(1,3) = 0.42
F(5,5) = 0.28
F(10,4) = 0.31
F(40,6.25) = 0.14


This is code golf, so the shortest solution in bytes wins.







code-golf probability-theory






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 15 at 15:40







Expired Data

















asked Mar 15 at 15:15









Expired DataExpired Data

2665




2665












  • $begingroup$
    I feel like there is a formula for this...
    $endgroup$
    – Embodiment of Ignorance
    Mar 15 at 18:10










  • $begingroup$
    Something to do with beta binomials maybe, but it might be longer to write that out
    $endgroup$
    – Expired Data
    Mar 15 at 18:13










  • $begingroup$
    depends on the language; R and Mathematica might be able to do it efficiently.
    $endgroup$
    – Giuseppe
    Mar 15 at 20:45


















  • $begingroup$
    I feel like there is a formula for this...
    $endgroup$
    – Embodiment of Ignorance
    Mar 15 at 18:10










  • $begingroup$
    Something to do with beta binomials maybe, but it might be longer to write that out
    $endgroup$
    – Expired Data
    Mar 15 at 18:13










  • $begingroup$
    depends on the language; R and Mathematica might be able to do it efficiently.
    $endgroup$
    – Giuseppe
    Mar 15 at 20:45
















$begingroup$
I feel like there is a formula for this...
$endgroup$
– Embodiment of Ignorance
Mar 15 at 18:10




$begingroup$
I feel like there is a formula for this...
$endgroup$
– Embodiment of Ignorance
Mar 15 at 18:10












$begingroup$
Something to do with beta binomials maybe, but it might be longer to write that out
$endgroup$
– Expired Data
Mar 15 at 18:13




$begingroup$
Something to do with beta binomials maybe, but it might be longer to write that out
$endgroup$
– Expired Data
Mar 15 at 18:13












$begingroup$
depends on the language; R and Mathematica might be able to do it efficiently.
$endgroup$
– Giuseppe
Mar 15 at 20:45




$begingroup$
depends on the language; R and Mathematica might be able to do it efficiently.
$endgroup$
– Giuseppe
Mar 15 at 20:45










2 Answers
2






active

oldest

votes


















6












$begingroup$

JavaScript (ES7),  145 ... 129 124  123 bytes



Takes input as (r)(n). This is a naive solution that actually performs the entire simulation.





r=>g=(n,B=s=0,R=0,h=d=>++d<7?h(d,[0,d].map(b=>g(n,B/-~!!b,R/-~!b)&g(n,B+b,R+d-b))):s/24**-~n)=>n--?h``:s+=~B<=r*~R|~R<=r*~B


Try it online!



Too slow for the last 2 test cases.



Commented



r =>                    // r = target ratio
g = ( // g is a recursive function taking:
n, // n = number of iterations
B = // B = number of blue beads, minus 1
s = 0, // s = number of times the target ratio was reached
R = 0, // R = number of red beads, minus 1
h = d => // h = recursive function taking d = 6-sided die value
++d < 7 ? // increment d; if d is less than or equal to 6:
h( // do a recursive call to h:
d, // using the new value of d
[0, d].map(b => // for b = 0 and b = d:
g( // do a first recursive call to g:
n, // leave n unchanged
B / -~!!b, // divide B by 2 if b is not equal to 0
R / -~!b // divide R by 2 if b is equal to 0
) & g( // do a second recursive call to g:
n, // leave n unchanged
B + b, // add b blue beads
R + d - b // add d - b red beads
) // end of recursive calls to g
) // end of map()
) // end of recursive call to h
: // else (d > 6):
s / 24 ** -~n // stop recursion and return s / (24 ** (n + 1))
) => // body of g:
n-- ? // decrement n; if n was not equal to 0:
h`` // invoke h with d = [''] (coerced to 0)
: // else:
s += // increment s if:
~B <= r * ~R | // either (-B-1) <= r*(-R-1), i.e. (B+1)/(R+1) >= r
~R <= r * ~B // or (-R-1) <= r*(-B-1), i.e. (R+1)/(B+1) >= r





share|improve this answer











$endgroup$













  • $begingroup$
    I really like this answer, I found that in order to solve the later test cases I needed to add code to merge the same ratio probabilities. So I'm not surprised it's too slow
    $endgroup$
    – Expired Data
    Mar 15 at 20:54



















0












$begingroup$


Wolfram Language (Mathematica), 133 bytes



Length@Select[#2/#&@@@(r=Nest[Sort/@Flatten[Table[{{k,0}+#,⌈#/{1,2}⌉},{k,6}]&/@Join[#,Reverse/@#],2]&,{{1,1}},x]),#>=y&]/Length@r



By using N[F,2],the output should print 2 decimal digits but TIO prints more...



Try it online!






share|improve this answer











$endgroup$













    Your Answer





    StackExchange.ifUsing("editor", function () {
    return StackExchange.using("mathjaxEditing", function () {
    StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
    StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
    });
    });
    }, "mathjax-editing");

    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "200"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f181551%2fp%25c3%25b3lya-urn-flip-and-roll%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    6












    $begingroup$

    JavaScript (ES7),  145 ... 129 124  123 bytes



    Takes input as (r)(n). This is a naive solution that actually performs the entire simulation.





    r=>g=(n,B=s=0,R=0,h=d=>++d<7?h(d,[0,d].map(b=>g(n,B/-~!!b,R/-~!b)&g(n,B+b,R+d-b))):s/24**-~n)=>n--?h``:s+=~B<=r*~R|~R<=r*~B


    Try it online!



    Too slow for the last 2 test cases.



    Commented



    r =>                    // r = target ratio
    g = ( // g is a recursive function taking:
    n, // n = number of iterations
    B = // B = number of blue beads, minus 1
    s = 0, // s = number of times the target ratio was reached
    R = 0, // R = number of red beads, minus 1
    h = d => // h = recursive function taking d = 6-sided die value
    ++d < 7 ? // increment d; if d is less than or equal to 6:
    h( // do a recursive call to h:
    d, // using the new value of d
    [0, d].map(b => // for b = 0 and b = d:
    g( // do a first recursive call to g:
    n, // leave n unchanged
    B / -~!!b, // divide B by 2 if b is not equal to 0
    R / -~!b // divide R by 2 if b is equal to 0
    ) & g( // do a second recursive call to g:
    n, // leave n unchanged
    B + b, // add b blue beads
    R + d - b // add d - b red beads
    ) // end of recursive calls to g
    ) // end of map()
    ) // end of recursive call to h
    : // else (d > 6):
    s / 24 ** -~n // stop recursion and return s / (24 ** (n + 1))
    ) => // body of g:
    n-- ? // decrement n; if n was not equal to 0:
    h`` // invoke h with d = [''] (coerced to 0)
    : // else:
    s += // increment s if:
    ~B <= r * ~R | // either (-B-1) <= r*(-R-1), i.e. (B+1)/(R+1) >= r
    ~R <= r * ~B // or (-R-1) <= r*(-B-1), i.e. (R+1)/(B+1) >= r





    share|improve this answer











    $endgroup$













    • $begingroup$
      I really like this answer, I found that in order to solve the later test cases I needed to add code to merge the same ratio probabilities. So I'm not surprised it's too slow
      $endgroup$
      – Expired Data
      Mar 15 at 20:54
















    6












    $begingroup$

    JavaScript (ES7),  145 ... 129 124  123 bytes



    Takes input as (r)(n). This is a naive solution that actually performs the entire simulation.





    r=>g=(n,B=s=0,R=0,h=d=>++d<7?h(d,[0,d].map(b=>g(n,B/-~!!b,R/-~!b)&g(n,B+b,R+d-b))):s/24**-~n)=>n--?h``:s+=~B<=r*~R|~R<=r*~B


    Try it online!



    Too slow for the last 2 test cases.



    Commented



    r =>                    // r = target ratio
    g = ( // g is a recursive function taking:
    n, // n = number of iterations
    B = // B = number of blue beads, minus 1
    s = 0, // s = number of times the target ratio was reached
    R = 0, // R = number of red beads, minus 1
    h = d => // h = recursive function taking d = 6-sided die value
    ++d < 7 ? // increment d; if d is less than or equal to 6:
    h( // do a recursive call to h:
    d, // using the new value of d
    [0, d].map(b => // for b = 0 and b = d:
    g( // do a first recursive call to g:
    n, // leave n unchanged
    B / -~!!b, // divide B by 2 if b is not equal to 0
    R / -~!b // divide R by 2 if b is equal to 0
    ) & g( // do a second recursive call to g:
    n, // leave n unchanged
    B + b, // add b blue beads
    R + d - b // add d - b red beads
    ) // end of recursive calls to g
    ) // end of map()
    ) // end of recursive call to h
    : // else (d > 6):
    s / 24 ** -~n // stop recursion and return s / (24 ** (n + 1))
    ) => // body of g:
    n-- ? // decrement n; if n was not equal to 0:
    h`` // invoke h with d = [''] (coerced to 0)
    : // else:
    s += // increment s if:
    ~B <= r * ~R | // either (-B-1) <= r*(-R-1), i.e. (B+1)/(R+1) >= r
    ~R <= r * ~B // or (-R-1) <= r*(-B-1), i.e. (R+1)/(B+1) >= r





    share|improve this answer











    $endgroup$













    • $begingroup$
      I really like this answer, I found that in order to solve the later test cases I needed to add code to merge the same ratio probabilities. So I'm not surprised it's too slow
      $endgroup$
      – Expired Data
      Mar 15 at 20:54














    6












    6








    6





    $begingroup$

    JavaScript (ES7),  145 ... 129 124  123 bytes



    Takes input as (r)(n). This is a naive solution that actually performs the entire simulation.





    r=>g=(n,B=s=0,R=0,h=d=>++d<7?h(d,[0,d].map(b=>g(n,B/-~!!b,R/-~!b)&g(n,B+b,R+d-b))):s/24**-~n)=>n--?h``:s+=~B<=r*~R|~R<=r*~B


    Try it online!



    Too slow for the last 2 test cases.



    Commented



    r =>                    // r = target ratio
    g = ( // g is a recursive function taking:
    n, // n = number of iterations
    B = // B = number of blue beads, minus 1
    s = 0, // s = number of times the target ratio was reached
    R = 0, // R = number of red beads, minus 1
    h = d => // h = recursive function taking d = 6-sided die value
    ++d < 7 ? // increment d; if d is less than or equal to 6:
    h( // do a recursive call to h:
    d, // using the new value of d
    [0, d].map(b => // for b = 0 and b = d:
    g( // do a first recursive call to g:
    n, // leave n unchanged
    B / -~!!b, // divide B by 2 if b is not equal to 0
    R / -~!b // divide R by 2 if b is equal to 0
    ) & g( // do a second recursive call to g:
    n, // leave n unchanged
    B + b, // add b blue beads
    R + d - b // add d - b red beads
    ) // end of recursive calls to g
    ) // end of map()
    ) // end of recursive call to h
    : // else (d > 6):
    s / 24 ** -~n // stop recursion and return s / (24 ** (n + 1))
    ) => // body of g:
    n-- ? // decrement n; if n was not equal to 0:
    h`` // invoke h with d = [''] (coerced to 0)
    : // else:
    s += // increment s if:
    ~B <= r * ~R | // either (-B-1) <= r*(-R-1), i.e. (B+1)/(R+1) >= r
    ~R <= r * ~B // or (-R-1) <= r*(-B-1), i.e. (R+1)/(B+1) >= r





    share|improve this answer











    $endgroup$



    JavaScript (ES7),  145 ... 129 124  123 bytes



    Takes input as (r)(n). This is a naive solution that actually performs the entire simulation.





    r=>g=(n,B=s=0,R=0,h=d=>++d<7?h(d,[0,d].map(b=>g(n,B/-~!!b,R/-~!b)&g(n,B+b,R+d-b))):s/24**-~n)=>n--?h``:s+=~B<=r*~R|~R<=r*~B


    Try it online!



    Too slow for the last 2 test cases.



    Commented



    r =>                    // r = target ratio
    g = ( // g is a recursive function taking:
    n, // n = number of iterations
    B = // B = number of blue beads, minus 1
    s = 0, // s = number of times the target ratio was reached
    R = 0, // R = number of red beads, minus 1
    h = d => // h = recursive function taking d = 6-sided die value
    ++d < 7 ? // increment d; if d is less than or equal to 6:
    h( // do a recursive call to h:
    d, // using the new value of d
    [0, d].map(b => // for b = 0 and b = d:
    g( // do a first recursive call to g:
    n, // leave n unchanged
    B / -~!!b, // divide B by 2 if b is not equal to 0
    R / -~!b // divide R by 2 if b is equal to 0
    ) & g( // do a second recursive call to g:
    n, // leave n unchanged
    B + b, // add b blue beads
    R + d - b // add d - b red beads
    ) // end of recursive calls to g
    ) // end of map()
    ) // end of recursive call to h
    : // else (d > 6):
    s / 24 ** -~n // stop recursion and return s / (24 ** (n + 1))
    ) => // body of g:
    n-- ? // decrement n; if n was not equal to 0:
    h`` // invoke h with d = [''] (coerced to 0)
    : // else:
    s += // increment s if:
    ~B <= r * ~R | // either (-B-1) <= r*(-R-1), i.e. (B+1)/(R+1) >= r
    ~R <= r * ~B // or (-R-1) <= r*(-B-1), i.e. (R+1)/(B+1) >= r






    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Mar 16 at 11:41

























    answered Mar 15 at 17:14









    ArnauldArnauld

    79.5k796330




    79.5k796330












    • $begingroup$
      I really like this answer, I found that in order to solve the later test cases I needed to add code to merge the same ratio probabilities. So I'm not surprised it's too slow
      $endgroup$
      – Expired Data
      Mar 15 at 20:54


















    • $begingroup$
      I really like this answer, I found that in order to solve the later test cases I needed to add code to merge the same ratio probabilities. So I'm not surprised it's too slow
      $endgroup$
      – Expired Data
      Mar 15 at 20:54
















    $begingroup$
    I really like this answer, I found that in order to solve the later test cases I needed to add code to merge the same ratio probabilities. So I'm not surprised it's too slow
    $endgroup$
    – Expired Data
    Mar 15 at 20:54




    $begingroup$
    I really like this answer, I found that in order to solve the later test cases I needed to add code to merge the same ratio probabilities. So I'm not surprised it's too slow
    $endgroup$
    – Expired Data
    Mar 15 at 20:54











    0












    $begingroup$


    Wolfram Language (Mathematica), 133 bytes



    Length@Select[#2/#&@@@(r=Nest[Sort/@Flatten[Table[{{k,0}+#,⌈#/{1,2}⌉},{k,6}]&/@Join[#,Reverse/@#],2]&,{{1,1}},x]),#>=y&]/Length@r



    By using N[F,2],the output should print 2 decimal digits but TIO prints more...



    Try it online!






    share|improve this answer











    $endgroup$


















      0












      $begingroup$


      Wolfram Language (Mathematica), 133 bytes



      Length@Select[#2/#&@@@(r=Nest[Sort/@Flatten[Table[{{k,0}+#,⌈#/{1,2}⌉},{k,6}]&/@Join[#,Reverse/@#],2]&,{{1,1}},x]),#>=y&]/Length@r



      By using N[F,2],the output should print 2 decimal digits but TIO prints more...



      Try it online!






      share|improve this answer











      $endgroup$
















        0












        0








        0





        $begingroup$


        Wolfram Language (Mathematica), 133 bytes



        Length@Select[#2/#&@@@(r=Nest[Sort/@Flatten[Table[{{k,0}+#,⌈#/{1,2}⌉},{k,6}]&/@Join[#,Reverse/@#],2]&,{{1,1}},x]),#>=y&]/Length@r



        By using N[F,2],the output should print 2 decimal digits but TIO prints more...



        Try it online!






        share|improve this answer











        $endgroup$




        Wolfram Language (Mathematica), 133 bytes



        Length@Select[#2/#&@@@(r=Nest[Sort/@Flatten[Table[{{k,0}+#,⌈#/{1,2}⌉},{k,6}]&/@Join[#,Reverse/@#],2]&,{{1,1}},x]),#>=y&]/Length@r



        By using N[F,2],the output should print 2 decimal digits but TIO prints more...



        Try it online!







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Mar 17 at 3:47

























        answered Mar 17 at 3:40









        J42161217J42161217

        13.4k21251




        13.4k21251






























            draft saved

            draft discarded




















































            If this is an answer to a challenge…




            • …Be sure to follow the challenge specification. However, please refrain from exploiting obvious loopholes. Answers abusing any of the standard loopholes are considered invalid. If you think a specification is unclear or underspecified, comment on the question instead.


            • …Try to optimize your score. For instance, answers to code-golf challenges should attempt to be as short as possible. You can always include a readable version of the code in addition to the competitive one.
              Explanations of your answer make it more interesting to read and are very much encouraged.


            • …Include a short header which indicates the language(s) of your code and its score, as defined by the challenge.



            More generally…




            • …Please make sure to answer the question and provide sufficient detail.


            • …Avoid asking for help, clarification or responding to other answers (use comments instead).





            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f181551%2fp%25c3%25b3lya-urn-flip-and-roll%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Masuk log Menu navigasi

            Identifying “long and narrow” polygons in with PostGISlength and width of polygonWhy postgis st_overlaps reports Qgis' “avoid intersections” generated polygon as overlapping with others?Adjusting polygons to boundary and filling holesDrawing polygons with fixed area?How to remove spikes in Polygons with PostGISDeleting sliver polygons after difference operation in QGIS?Snapping boundaries in PostGISSplit polygon into parts adding attributes based on underlying polygon in QGISSplitting overlap between polygons and assign to nearest polygon using PostGIS?Expanding polygons and clipping at midpoint?Removing Intersection of Buffers in Same Layers

            Старые Смолеговицы Содержание История | География | Демография | Достопримечательности | Примечания | НавигацияHGЯOLHGЯOL41 206 832 01641 606 406 141Административно-территориальное деление Ленинградской области«Переписная оброчная книга Водской пятины 1500 года», С. 793«Карта Ингерманландии: Ивангорода, Яма, Копорья, Нотеборга», по материалам 1676 г.«Генеральная карта провинции Ингерманландии» Э. Белинга и А. Андерсина, 1704 г., составлена по материалам 1678 г.«Географический чертёж над Ижорскою землей со своими городами» Адриана Шонбека 1705 г.Новая и достоверная всей Ингерманландии ланткарта. Грав. А. Ростовцев. СПб., 1727 г.Топографическая карта Санкт-Петербургской губернии. 5-и верстка. Шуберт. 1834 г.Описание Санкт-Петербургской губернии по уездам и станамСпецкарта западной части России Ф. Ф. Шуберта. 1844 г.Алфавитный список селений по уездам и станам С.-Петербургской губернииСписки населённых мест Российской Империи, составленные и издаваемые центральным статистическим комитетом министерства внутренних дел. XXXVII. Санкт-Петербургская губерния. По состоянию на 1862 год. СПб. 1864. С. 203Материалы по статистике народного хозяйства в С.-Петербургской губернии. Вып. IX. Частновладельческое хозяйство в Ямбургском уезде. СПб, 1888, С. 146, С. 2, 7, 54Положение о гербе муниципального образования Курское сельское поселениеСправочник истории административно-территориального деления Ленинградской области.Топографическая карта Ленинградской области, квадрат О-35-23-В (Хотыницы), 1930 г.АрхивированоАдминистративно-территориальное деление Ленинградской области. — Л., 1933, С. 27, 198АрхивированоАдминистративно-экономический справочник по Ленинградской области. — Л., 1936, с. 219АрхивированоАдминистративно-территориальное деление Ленинградской области. — Л., 1966, с. 175АрхивированоАдминистративно-территориальное деление Ленинградской области. — Лениздат, 1973, С. 180АрхивированоАдминистративно-территориальное деление Ленинградской области. — Лениздат, 1990, ISBN 5-289-00612-5, С. 38АрхивированоАдминистративно-территориальное деление Ленинградской области. — СПб., 2007, с. 60АрхивированоКоряков Юрий База данных «Этно-языковой состав населённых пунктов России». Ленинградская область.Административно-территориальное деление Ленинградской области. — СПб, 1997, ISBN 5-86153-055-6, С. 41АрхивированоКультовый комплекс Старые Смолеговицы // Электронная энциклопедия ЭрмитажаПроблемы выявления, изучения и сохранения культовых комплексов с каменными крестами: по материалам работ 2016-2017 гг. в Ленинградской области