diff options
author | EliteTK <tomasz.kramkowski@gmail.com> | 2014-05-05 14:26:29 +0100 |
---|---|---|
committer | EliteTK <tomasz.kramkowski@gmail.com> | 2014-05-05 14:26:29 +0100 |
commit | a530bad7a6ea2778129db0dc26c446d9f6df6ddd (patch) | |
tree | 8f2f751092046f44a7fbc8bd92f57b013e1483f5 /monty-hall.c | |
parent | a98d134e89a42909721dcefd426118af38628048 (diff) | |
download | c-stuff-a530bad7a6ea2778129db0dc26c446d9f6df6ddd.tar.gz c-stuff-a530bad7a6ea2778129db0dc26c446d9f6df6ddd.tar.xz c-stuff-a530bad7a6ea2778129db0dc26c446d9f6df6ddd.zip |
More stuff.
Diffstat (limited to 'monty-hall.c')
-rw-r--r-- | monty-hall.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/monty-hall.c b/monty-hall.c new file mode 100644 index 0000000..7ab6a2c --- /dev/null +++ b/monty-hall.c @@ -0,0 +1,34 @@ +#include <stdio.h> +#include <stdlib.h> +#include <time.h> + +#define ITERATIONS 1000 + +int main(int argc, char **argv) +{ + srand(time(NULL)); + + int i, won = 0, lost = 0, opt, winopt, discard; + for(i = 0; i<ITERATIONS; i++){ + opt = (float)rand() / (float)RAND_MAX * 3.0; + winopt = (float)rand() / (float)RAND_MAX * 3.0; + if(opt == winopt){ + discard = (float)rand() / (float)RAND_MAX * 2.0; + if(!opt) + discard +=1; + else if(opt == 1 && discard) + discard = 2; + }else{ + discard = 3 - opt - winopt; + } + opt = 3 - opt - discard; + + if(opt == winopt) + won++; + else + lost++; + } + + printf("Won: %d, Lost: %d.\n", won, lost); + return 0; +} |