题解 | #用rand5()实现rand7()#

用rand5()实现rand7()

http://www.nowcoder.com/practice/581fb9be10d647e7bb179234b42f3f5f

import java.util.*;
public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * rand5() is defined
     * @return a random integer in the range 1 to 7
     */
    
    public int rand5() {
        return 1 + (int) (Math.random() * 5);
    }

    public int rand7() {
        // write code here
        int ans = 0;
        do {
            ans = (rand01() << 2) + (rand01() << 1) + rand01();
        } while (ans == 7);
        return ans + 1;
    }

    public int rand01() {
        int tmpValue = 0;
        do {
            tmpValue = rand5();
        } while (tmpValue == 5);
        return tmpValue % 2;
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-10 14:10
啊啊啊啊好幸福,妈妈是我找工作发疯前的一束光
榕城小榕树:你是我见过最幸福的牛客男孩
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-08 13:15
点赞 评论 收藏
分享
06-12 10:50
门头沟学院 Java
你的不定积分没加C:我怎么在学院群看到了同样的话
点赞 评论 收藏
分享
06-17 21:57
门头沟学院 Java
白友:噗嗤,我发现有些人事就爱发这些,明明已读不回就行了,就是要恶心人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务