生成一个[0,1)之间均匀分布的随机数数组,包含1000个元素,随机种子为自己学号的后3位。接收用户输入一个1-100之间的数字。打印随机数组中所有索引值可以被输入整数整除的数字,并打印序号和索引值。序号从1开始,依次加1。
时间: 2024-09-19 21:04:07 浏览: 56
生成有界随机数:在两个边界之间生成均匀分布的随机数。-matlab开发
首先,我们可以使用Python的`numpy`库来生成一个均匀分布在[0,1)的随机数数组。我们将设定随机种子为你学号的后三位,以便每次运行结果都一致。然后让用户输入一个1到100之间的数字n,我们遍历这个数组,找出能被n整除的数字,并记录它们的索引。
以下是步骤和代码实现:
```python
import numpy as np
# 设置随机种子
np.random.seed(int(''.join(str(self.student_id)[-3:])))
# 生成随机数组
random_array = np.random.rand(1000)
# 接收用户输入
n = int(input("请输入一个1到100之间的数字:"))
# 找出并打印符合条件的数字及其索引
indices = [i for i in range(len(random_array)) if random_array[i].is_integer() and random_array[i] * n == int(random_array[i])]
results = [(i+1, j) for i, j in enumerate(indices)]
print(f"能被{n}整除的随机数组元素及索引:")
for result in results:
print(f"序号:{result[0]}, 索引:{result[1]}")
阅读全文