rand5 rand7

int rand7()
{
    int i;
    do{
        i = 5 * (rand5() - 1) + rand5();    //产生[1,25]的整数区间
    }while(i > 21);                            //将[1,25]整数区间控制于[1,21]
    return i%7 + 1;                            //将[1,21]映射到[1,7]
}

 

posted @ 2016-02-23 22:50  zhou09  阅读(165)  评论(0编辑  收藏  举报