pinocchio

rand7 w/ rand5 in C

Mar 29th, 2012
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.40 KB | None | 0 0
  1. int rand7 ()
  2. {
  3.   int r = 0;
  4.  
  5.   while (r == 0)
  6.     {
  7.       int bits[3] = {0, 0, 0};
  8.       int v = 3;
  9.      
  10.       for (int i = 0; i < 3; i ++)
  11.         {
  12.           while (v == 3)
  13.             v = rand5 ();
  14.          
  15.           if (v < 3)
  16.             bits[i] = 1;
  17.          
  18.           v = 3;
  19.         }
  20.      
  21.       r = (bits[2] << 2) | (bits[1] << 1) | (bits[0]);
  22.     }
  23.  
  24.   return r;
  25. }
Advertisement
Add Comment
Please, Sign In to add comment