码迷,mamicode.com
首页 > 其他好文 > 详细

一道随机函数题:由rand5()生成rand7()

时间:2015-10-25 22:16:45      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:

题目:已知rand5()函数能随机等概率的生成0, 1, 2, 3, 4,利用rand5()函数编写一个rand7()函数实现相似的功能。

分析:其实就是利用rand5()组合成一个更大范围的数,之后利用求余(%)再映射到0-6之间。

Java代码:

    int rand7() { //已知rand5()产生0,1,2,3,4,求rand7()
        int a;
        do {
            a = 5*rand5() + rand5(); //产生0-24
        } while (a > 20); //只取0-20
        return a%7;
    }

参考自:http://www.cnblogs.com/dwdxdy/archive/2012/07/28/2613135.html

一道随机函数题:由rand5()生成rand7()

标签:

原文地址:http://www.cnblogs.com/lasclocker/p/4909479.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!