Python 3中线性同余发生器如何影响随机数生成器的伪随机数周期?

2026-06-09 12:063阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计482个文字,预计阅读时间需要2分钟。

Python 3中线性同余发生器如何影响随机数生成器的伪随机数周期?

pythonimport random

x=[str(random.randint(0, 5)) for i in range(10)]x_str=''.join(x)y=[str(random.randint(0, 5)) for i in range(100000000)]y_str=''.join(y)

if x_str in y_str: print(共有多少个:) print(y_str.count(x_str)) print(第一个出现的位置:)

import random
x=[str(random.randint(0, 5)) for i in range(10)]
x_str=''.join(x)

y=[str(random.randint(0, 5)) for i in range(100000000)]
y_str=''.join(y)

if x_str in y_str:
print("共有多少:")
print(y_str.count(x_str))
print('第一个出现位置')
print(y_str.find(x_str))
else:
print("没有")


如上面代码所示, 突然想起来编程语言中的随机数产生是采用线性同余发生器产生的,那么既然是尾随机数它必然有重复的时候,那么我们有没有可能找到它重复的时候,或者发行一个周期呢,所以由此写了上面的代码。

阅读全文

本文共计482个文字,预计阅读时间需要2分钟。

Python 3中线性同余发生器如何影响随机数生成器的伪随机数周期?

pythonimport random

x=[str(random.randint(0, 5)) for i in range(10)]x_str=''.join(x)y=[str(random.randint(0, 5)) for i in range(100000000)]y_str=''.join(y)

if x_str in y_str: print(共有多少个:) print(y_str.count(x_str)) print(第一个出现的位置:)

import random
x=[str(random.randint(0, 5)) for i in range(10)]
x_str=''.join(x)

y=[str(random.randint(0, 5)) for i in range(100000000)]
y_str=''.join(y)

if x_str in y_str:
print("共有多少:")
print(y_str.count(x_str))
print('第一个出现位置')
print(y_str.find(x_str))
else:
print("没有")


如上面代码所示, 突然想起来编程语言中的随机数产生是采用线性同余发生器产生的,那么既然是尾随机数它必然有重复的时候,那么我们有没有可能找到它重复的时候,或者发行一个周期呢,所以由此写了上面的代码。

阅读全文