用lua生成一组10 个 1~100 之间不重复随机数。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用lua生成一组10 个 1~100 之间不重复随机数。相关的知识,希望对你有一定的参考价值。

用lua生成一组10 个 1~100 之间不重复随机数。

参考技术A a=
math.randomseed(tostring(os.time()):reverse():sub(1, 6))
a[1]=math.random(100)
for i=2,10 do
repeat
f=false
a[i]=math.random(100)
for j=1,i-1 do
if a[j]==a[i] then f=true; break; end
end
until not f;
end

for i=1,10 do io.write(string.format('%5i',a[i])) end
print()

怎么用python生成随机的且不重复的整数?

我只知道random.randint(0,10)这种,但是会生成重复的数字。
怎么用python在指定范围内生成随机的且不重复的整数?

v假如你排列的是个数组1,2,3,4,5
列数假如也是5 也就是5*5的矩阵
然后让5个数组都随机生成 然后排序
如果两个临近数据相同或相近 这两个数据就是挨着的好像这样:
0:1,2,3,4,5
1:2,3,4,5,1
2:2,3,5,1,4
3:2,3,5,1,4
4:2,3,5,4,1
那么生成完之后就可以经过一次遍历 把邻近两个进行比较
如果相同就重新生成一个 或者先标记 之后再去

需要用到random模块
import random
n = random.randint(1,10)
会生成一个1到10的随机整数。
插入列表即可
[].append(n)
就好了。你可以做个循环。比如for循环,不断插就好了。

参考技术A 一楼思路正确,但是python的random库中已经提供了现成的函数,不需要那么麻烦。
random.sample(list, n)即是从list中随机选取n个不同的元素。
楼主可以试试下面的代码。

import random

for i in range(4):
print random.sample([1, 2, 3, 4, 5, 6, 7, 8], 8)

for i in range(4):
print random.sample(range(10), 10)

for i in range(4):
print random.sample(['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'], 7)
参考技术B import random
print 'N must >K else error'
n=int(raw_input("n="))
k=int(raw_input("k="))
result=[]
x=range(n)
for i in range(k):
t=random.randint(i,n-1)
temp=x[i]
x[i]=x[t]
x[t]=temp
result.append(x[i])
print result
raw_input('Inpuy AnyKey to exit')

你看下吧 N是范围 K是生成的数量本回答被提问者采纳
参考技术C l = []
for i in range(10):
r = random.randint(0,10)
while r in l:
r = random.randint(0,10)
l.append(r)
print r

以上是关于用lua生成一组10 个 1~100 之间不重复随机数。的主要内容,如果未能解决你的问题,请参考以下文章

python随机生成100内的10个整数?

怎样用C语言生成10个1到100的不重复的随机数?

JS中,输出1-10之间的随机整数,用Math.random()咋搞呢

用JAVA 产生一个0到1的随机数

我想用JavaScript生成1到100之间的100个不能重复的随机数,不需要排序,只生成100个不

随机生成【1,100】之间的10个整数存放在数组中。