Difference between revisions of "Fermat's Wager"

From BlogNomic Wiki
Jump to navigation Jump to search
(Created page with "Showing my working for [https://blognomic.com/archive/fermats_wager_victory this proposal]. --~~~~ ==Code== <pre>$wins = array(0,0,0,0,0,0,0); for ($i=0; $i<1000000; $i++) {...")
 
 
Line 29: Line 29:
 
     [6] => 22334
 
     [6] => 22334
 
)</pre>
 
)</pre>
 +
 +
=Exact=
 +
 +
Completely unnecessary in light of the above; we don't need the extra accuracy, but I was curious: [[User:Pokes|Pokes]] ([[User talk:Pokes|talk]]) 19:05, 11 August 2020 (UTC)
 +
 +
<pre>
 +
#include <stdio.h>
 +
 +
int base_plaques[7] = {2, 2, 1, 0, 0, 0, 0};
 +
int current_plaques[7];
 +
int wins[7];
 +
 +
int main() {
 +
    int outcomes = 7*7*7*7*7*7*7*7*7*7;
 +
    int i, j, t;
 +
    int round;
 +
    int winner;
 +
    for (j = 0; j < 7; j++) wins[j] = 0;
 +
    for (i = 0; i < outcomes; i++) {
 +
        t = i;
 +
        for (j = 0; j < 7; j++) current_plaques[j] = base_plaques[j];
 +
        for (round = 0; round < 10; round++) {
 +
            winner = t % 7;
 +
            t /= 7;
 +
            current_plaques[winner]++;
 +
            if (current_plaques[winner] == 3) {
 +
                wins[winner]++;
 +
                break;
 +
            }
 +
        }
 +
    }
 +
 +
    for (j = 0; j < 7; j++) {
 +
        printf("%15d %f\n", wins[j], 100.0*((float)(wins[j])/(float)(outcomes)));
 +
    }
 +
}
 +
</pre>
 +
 +
==Output==
 +
<pre>
 +
      115528224 40.898529
 +
      115528224 40.898529
 +
      26375517 9.337284
 +
        6260821 2.216414
 +
        6260821 2.216414
 +
        6260821 2.216414
 +
        6260821 2.216414
 +
</pre>

Latest revision as of 19:05, 11 August 2020

Showing my working for this proposal. --Kevan (talk) 16:48, 11 August 2020 (UTC)

Code

$wins = array(0,0,0,0,0,0,0);

for ($i=0; $i<1000000; $i++)
{
        $scores = array(2,2,1,0,0,0,0);

        while (max($scores)<3)
        {
                $scores[rand(0,6)]++;
        }

        $wins[array_search(max($scores),$scores)]++;
}

print_r($wins);

Output

Array
(
    [0] => 408544
    [1] => 409071
    [2] => 93189
    [3] => 22226
    [4] => 22446
    [5] => 22190
    [6] => 22334
)

Exact

Completely unnecessary in light of the above; we don't need the extra accuracy, but I was curious: Pokes (talk) 19:05, 11 August 2020 (UTC)

#include <stdio.h>

int base_plaques[7] = {2, 2, 1, 0, 0, 0, 0};
int current_plaques[7];
int wins[7];

int main() {
    int outcomes = 7*7*7*7*7*7*7*7*7*7;
    int i, j, t;
    int round;
    int winner;
    for (j = 0; j < 7; j++) wins[j] = 0;
    for (i = 0; i < outcomes; i++) {
        t = i;
        for (j = 0; j < 7; j++) current_plaques[j] = base_plaques[j];
        for (round = 0; round < 10; round++) {
            winner = t % 7;
            t /= 7;
            current_plaques[winner]++;
            if (current_plaques[winner] == 3) {
                wins[winner]++;
                break;
            }
        }
    }

    for (j = 0; j < 7; j++) {
        printf("%15d %f\n", wins[j], 100.0*((float)(wins[j])/(float)(outcomes)));
    }
}

Output

      115528224 40.898529
      115528224 40.898529
       26375517 9.337284
        6260821 2.216414
        6260821 2.216414
        6260821 2.216414
        6260821 2.216414