首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每个随机数在数组中只出现一次

每个随机数在数组中只出现一次
EN

Stack Overflow用户
提问于 2018-05-16 04:01:01
回答 2查看 67关注 0票数 0

我最近开始使用SmallBasic编程,我想知道是否可以检查随机数是否已经在数组中。到目前为止我的代码如下:

代码语言:javascript
复制
Count = 10
For i = 1 to Count
  var[i] = Math.GetRandomNumer(100)
  TextWindow.Write(var[i] + ‘,’)
Endfor 

提前感谢:)

EN

回答 2

Stack Overflow用户

发布于 2018-05-16 22:21:38

这似乎工作得很好:

代码语言:javascript
复制
Count = 10

For i = 1 to Count+1
  If (duplicate) Then
    i = i - 1 
    duplicate = "False"
  EndIf

  var[i] = Math.GetRandomNumber(10)

  For u = 1 To i-1
    If var[i] = var[u] Then
      duplicate = "True"
      EndIf
    EndFor
  Endfor 


  For y = 1 To Count
    TextWindow.Write(var[y] + ", ")
  EndFor
票数 1
EN

Stack Overflow用户

发布于 2018-05-25 20:29:45

这个版本可能是最快的。它利用了Smallbasic中的数组实际上是Map并存储在string中这一事实。这使得它们与其他语言中的数组操作相比非常慢。但是,如果您将数组视为字符串,则某些操作可能会以惊人的速度发生。

代码语言:javascript
复制
numberList[0] = 0
For i = 1 To 100
  choice = 0
  While Text.IsSubText(numberList, "=" + choice + ";")
    choice = Math.GetRandomNumber(100)
  EndWhile
  numberList[i] = choice
EndFor

For i = 1 To  100
  TextWindow.Write(numberList[i] + " ")
EndFor
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50358335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档