From ca435aba648a8c0704f8de1b4c0dbf8eeec0417f Mon Sep 17 00:00:00 2001 From: qfcy_ <3076711200@qq.com> Date: Thu, 15 Feb 2024 19:04:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=20=E7=94=9F=E6=88=90?= =?UTF-8?q?=E9=9A=8F=E6=9C=BA=E6=95=B02.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\351\232\217\346\234\272\346\225\2602.py" | 45 ------------------- 1 file changed, 45 deletions(-) delete mode 100644 "\345\260\217\351\241\271\347\233\256/\347\224\237\346\210\220\351\232\217\346\234\272\346\225\2602.py" diff --git "a/\345\260\217\351\241\271\347\233\256/\347\224\237\346\210\220\351\232\217\346\234\272\346\225\2602.py" "b/\345\260\217\351\241\271\347\233\256/\347\224\237\346\210\220\351\232\217\346\234\272\346\225\2602.py" deleted file mode 100644 index d066060..0000000 --- "a/\345\260\217\351\241\271\347\233\256/\347\224\237\346\210\220\351\232\217\346\234\272\346\225\2602.py" +++ /dev/null @@ -1,45 +0,0 @@ -# 来自于AI生成的代码,并加以修改 -class MersenneTwister: - def __init__(self, seed): - # seed的范围为-2147483648到2147483647 - self.index = 624 # 初始化索引 - self.mt = [0] * 624 # 初始化状态数组 - self.mt[0] = seed # 使用种子初始化状态数组的第一个元素 - for i in range(1, 624): # 初始化状态数组的其余元素 - self.mt[i] = 0xFFFFFFFF & (1812433253 * (self.mt[i - 1] ^ (self.mt[i - 1] >> 30)) + i) - - def extract_number(self): - if self.index >= 624: # 如果索引超出范围,进行扭曲操作 - self.twist() - - y = self.mt[self.index] # 取出状态数组中的一个元素 - y = y ^ (y >> 11) # 对取出的元素进行位运算 - y = y ^ ((y << 7) & 0x9D2C5680) # 对取出的元素进行位运算 - y = y ^ ((y << 15) & 0xEFC60000) # 对取出的元素进行位运算 - y = y ^ (y >> 18) # 对取出的元素进行位运算 - - self.index += 1 # 更新索引 - return 0xFFFFFFFF & y # 返回生成的随机数 - def random(self): - # 返回0-1的随机数 - return self.extract_number() / 0xFFFFFFFF - - def twist(self): - for i in range(624): # 扭曲操作 - y = (self.mt[i] & 0x80000000) + (self.mt[(i + 1) % 624] & 0x7fffffff) - self.mt[i] = self.mt[(i + 397) % 624] ^ (y >> 1) - if y % 2 != 0: - self.mt[i] = self.mt[i] ^ 0x9908B0DF - self.index = 0 # 重置索引 - -def main(): - seed = 5489 # 设置随机数种子 - mt = MersenneTwister(seed) - print("按Enter生成随机数,按Ctrl+C退出 ...") - while True: - print(mt.random(),end="") # 生成0-1的随机数 - input() # 等待用户按下回车键 - - -if __name__ == "__main__": - main() -- GitLab