int rand7(){ while(1){ int res = 5*rand5()+rand5(); if(res < 21) return res%7; } return 0; }
int RandomNum::generateRand7() { srand(time(NULL)); while (true) { int x=rand5()*5+rand5(); if (x<21) return x%7; } }
int rand7() { std::stringstream ss; while (true) { ss << rand5() << rand5(); int rc = lookup[ss.str()]; ss.str(""); if (rc == 0) { //std::cout << "generated 0\n"; continue; } return rc; } assert(false); return 0; }
int rand7(){ int i; int temp = 0; for(i = 0; i < 8; i++){ temp += rand5(); } return temp%8; }
int rand7() { int vals[5][5] = { {1, 1, 1, 2, 2}, {2, 3, 3, 3, 4}, {4, 4, 5, 5, 5}, {6, 6, 6, 7, 7}, {7, 0 ,0 ,0 ,0} } int cIndex = rand5(); int rIndex = rand5(); while(vals[rIndex][cIndex] == 0) { cIndex = rand5(); rIndex = rand5(); } return vals[rIndex][cIndex]; }
int rand7(void) { int n = 5*(rand5()-1)+(rand5()-1); while (n > 20) n = 5*(rand5()-1)+(rand5()-1); return (n%7)+1; }