题解 | #用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;
    }
}
全部评论

相关推荐

菜菜咪:1. 可以使用简历网站的模版,美观度会更好一点 2. 邮箱可以重新申请一个,或者用qq邮箱的别名,部分hr可能会不喜欢数字邮箱 3. 项目经历最好分点描述,类似的项目很多,可以参考一下别人怎么写的 4. 自我评价可加可不加,技术岗更看重技术。最后,加油,优秀士兵
点赞 评论 收藏
分享
牛客771574427号:恭喜你,华杰
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务