大佬教程收集整理的这篇文章主要介绍了php-如何从随机位生成范围内的整数,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个随机位的来源,我想将其按摩成各种大小的整数,与流行骰子的大小(1-4、1-6等)大致相关
我正在编写的代码是PHP,因此使用该语言进行响应是理想的.但是,算法通用响应也将完全正常.
我更喜欢一个更复杂的答案,而不是简单地用我的随机数据块播种PHP的random()函数.
解决方法:
如果有任意数量的可用位,则可以选择使用拒绝方法,类似于Java的Random.nextInt(int)
.从那里获取的伪代码为:
@H_403_13@public int nextInt(int n) { if (n<=0) new IllegalArgumentException("n must be positive"); if ((n & -n) == n) // i.e., n is a power of 2 return (int)((n * (long)next(31)) >> 31); int bits, val; do { bits = next(31); val = bits % n; } while(bits - val + (n-1) < 0); return val; }
next()是一个函数,该函数返回指定数量的随机位,并将其串联为一个int.您可以将其替换为随机位源.
以上是大佬教程为你收集整理的php-如何从随机位生成范围内的整数全部内容,希望文章能够帮你解决php-如何从随机位生成范围内的整数所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。