php在一定范围内去随机整数,php-如何从随机位生成范围内的整数
我有一個隨機位的來源,我想將其按摩成各種大小的整數,與流行骰子的大小(1-4、1-6等)大致相關
我正在編寫的代碼是PHP,因此使用該語言進行響應是理想的.但是,算法通用響應也將完全正常.
我更喜歡一個更復雜的答案,而不是簡單地用我的隨機數據塊播種PHP的random()函數.
解決方法:
如果有任意數量的可用位,則可以選擇使用拒絕方法,類似于Java的Random.nextInt(int).從那里獲取的偽代碼為:
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.您可以將其替換為隨機位源.
標簽:random,php
來源: https://codeday.me/bug/20191102/1992570.html
總結
以上是生活随笔為你收集整理的php在一定范围内去随机整数,php-如何从随机位生成范围内的整数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php如何抓取网页内容,php如何抓取网
- 下一篇: vue上传文件到php,vue+axio