随机数问题--已知有个Random7()的函数,返回1到7随机自然数,让利用这个Random7()构造Random10()随机1~10.

王朝学院·作者佚名  2016-05-28
窄屏简体版  字體: 小  |  中  |  大  |  超大  

随机数问题--已知有个Random7()的函数,返回1到7随机自然数,让利用这个Random7()构造Random10()随机1~10.Math.random()随机生成(0,1)之间的float数,Random7随机生成[1,7]之间的整数,利用Random7构造Random10的步骤:

1、生成数a:a是两次Random7的结果,即a=(Random7()-1)*7+Random7()-1;

2、判断a是否小于40,如果小于40,则返回a/4+1,即为最后的结果;否则,继续执行Random10;

public class B{ public static int Random7(){ return (int)(Math.random()*7+1); } public static int Random10(){ int a=49; while(a>=40){ a=(Random7()-1)*7+Random7()-1; } return a/4+1; } public static void main(String[] args) { for(int i=0;i<50;i++){ System.out.PRintln(Random10()); } }}

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航