Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #include <math.h>
- int counter7[7] = {0, 0, 0, 0, 0, 0, 0};
- int rand5 ()
- {
- return rand () % 5 + 1;
- }
- int rand7 ()
- {
- int r = 0;
- while (r == 0)
- {
- int bits[3] = {0, 0, 0};
- int v = 3;
- for (int i = 0; i < 3; i ++)
- {
- while (v == 3)
- v = rand5 ();
- if (v < 3)
- bits[i] = 1;
- v = 3;
- }
- r = (bits[2] << 2) | (bits[1] << 1) | (bits[0]);
- }
- return r;
- }
- int main ()
- {
- int v;
- srand(time(NULL));
- for (int i = 0; i < 10000000; i++)
- {
- v = rand7 ();
- counter7[v - 1] += 1;
- }
- for (int i =0; i < 7; i++)
- {
- printf("%f\n", counter7[i]/10000000.0);
- }
- return 0;
- }
- loris@leibniz:~/sandbox$ g++ test.c -o test
- loris@leibniz:~/sandbox$ ./test
- 0.143061
- 0.142927
- 0.142746
- 0.142812
- 0.143001
- 0.142784
- 0.142670
Advertisement
Add Comment
Please, Sign In to add comment