Beispiel #1
0
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;
    }
}
Beispiel #3
0
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;
}