做了个有意思的小东西
[| 2010/04/05 03:09]
今天做出了大素数class的生成随机大数的一个函数,想试试我到底生成的够不够随机,于是想了个办法:把生成的数字以点的形式打印到屏幕上。
由于项目做的就是在Linux下画屏,所以做个画点的程序也不难。我准备在一个100*100的区域内画点,所以随机数的区域就选择4位数。
先是生成100,1000,2000,10000个点,画上去看看有没有明显的空洞,我看了看,应该没有问题。
然后每屏画100,1000,2000,10000个点,刷新100屏,延迟零点一秒刷新一次,看有没有某区域持续取不到点或持续取到,也没问题。
然后每次画1,10个点,画1000屏,延迟零点一秒画一次,中间不清屏,观察点是否均匀画上,在这里看出点小规律:发现点的运动规律是在各小区跳动并按类圆周轨迹运动,这应该是rand函数的问题。没有大的问题。
然后测试另外一个函数:生成小于指定值的随机大数。也按上面的步骤来,也没有问题。
由此虽然不能验证我生成随机大数的类方法生成的数字严格随机,但是可以定性证明不会导致严重的概率不均。
话说看着屏幕上一堆小点乱动有点像电视雪花屏。小点积累过程像下雪一样。有点意思。
由于项目做的就是在Linux下画屏,所以做个画点的程序也不难。我准备在一个100*100的区域内画点,所以随机数的区域就选择4位数。
先是生成100,1000,2000,10000个点,画上去看看有没有明显的空洞,我看了看,应该没有问题。
然后每屏画100,1000,2000,10000个点,刷新100屏,延迟零点一秒刷新一次,看有没有某区域持续取不到点或持续取到,也没问题。
然后每次画1,10个点,画1000屏,延迟零点一秒画一次,中间不清屏,观察点是否均匀画上,在这里看出点小规律:发现点的运动规律是在各小区跳动并按类圆周轨迹运动,这应该是rand函数的问题。没有大的问题。
然后测试另外一个函数:生成小于指定值的随机大数。也按上面的步骤来,也没有问题。
由此虽然不能验证我生成随机大数的类方法生成的数字严格随机,但是可以定性证明不会导致严重的概率不均。
话说看着屏幕上一堆小点乱动有点像电视雪花屏。小点积累过程像下雪一样。有点意思。
傻逼
2020/01/20 14:27
分页: 1/1 1