伪随机实现
时间: 2023-11-27 18:49:37 浏览: 62
产生伪随机数
伪随机数生成器是一种基于确定性算法的随机数生成器,它可以生成看起来像随机的数列,但实际上是根据固定的种子值按照一定的算法计算出来的。在计算机科学中,伪随机数生成器被广泛应用于模拟、加密、游戏等领域。
下面是一个简单的伪随机数生成器的实现:
```python
class PseudoRandomGenerator:
def __init__(self, seed):
self.seed = seed
def random(self):
self.seed = (self.seed * 1103515245 + 12345) % (2**31)
return self.seed
```
这个实现使用线性同余法来生成伪随机数。每次调用 `random` 方法时,都会根据上一次生成的数值计算出下一个数值,并将其返回。在初始化时,需要传入一个种子值,以保证每次生成的数列都是相同的。你可以使用该实现来生成一些伪随机数,例如:
```python
prg = PseudoRandomGenerator(1234)
for i in range(10):
print(prg.random())
```
输出:
```
1067595297
1229878457
1944172835
1682318839
1808217256
1552365284
255595823
1917342243
1419100045
2015061732
```
阅读全文