use*_*195 2 iphone objective-c
我想生成一个介于31到60之间的随机数.
所以我使用了rand(),但我认为它会给出一些时间相同的价值.但我需要时间它应该给我新的价值.
我怎样才能做到这一点?
使用arc4random(),它将提供一个很好的随机数,不需要播种.
rand() 每次运行应用程序时都会生成相同的序列,除非您使用唯一值对其进行种子处理.
那么这是一个问题或减少范围.一个简单的解决方案是修改范围并添加范围的低端.(这会导致一个小的偏见,应该是可以接受的.)
例:
int rangeLow = 31;
int rangeHigh = 60;
int randomNumber = arc4random() % (rangeHigh-rangeLow+1) + rangeLow;
Run Code Online (Sandbox Code Playgroud)
如果您希望范围内的每个数字只出现一次,那么@ pawan.mangal会链接到一个好的解决方案.
| 归档时间: |
|
| 查看次数: |
7048 次 |
| 最近记录: |