aboutsummaryrefslogtreecommitdiffstats
path: root/monty-hall.c
diff options
context:
space:
mode:
authorEliteTK <tomasz.kramkowski@gmail.com>2014-05-05 14:26:29 +0100
committerEliteTK <tomasz.kramkowski@gmail.com>2014-05-05 14:26:29 +0100
commita530bad7a6ea2778129db0dc26c446d9f6df6ddd (patch)
tree8f2f751092046f44a7fbc8bd92f57b013e1483f5 /monty-hall.c
parenta98d134e89a42909721dcefd426118af38628048 (diff)
downloadc-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.c34
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;
+}