HI 我有生成随机数的库存 我有一个包含20个变量的数组,我想在该范围内随机选择一个条件,它会跳过每4个变量。随机数应该是(0,4,8,12或16)??我怎样才能做到这一点 ? 我的NSArray类型数组...
谢谢,
答案 0 :(得分:3)
int random = (arc4random() % 5)*4;
答案 1 :(得分:1)
使用下面的代码块
int randomNum;
do
{
randomNum = arc4random() % 17; //Ensure --> Your number will be in the range (0-16)
}while(randomNum % 4 == 0) //Must be the multiple of 4 means ----> { 0,4,8,12,16}
答案 2 :(得分:0)
您可以使用int r = arc4random() % 20;
获取随机数。然后,当您想要获得另一个随机数时,检查您获得的前一个号码并根据您的需要使用它
答案 3 :(得分:0)
我认为最好的方法是将“随机数”存储到
中新的NSArray:[0,4,8,12,16] 。
然后您可以生成标准随机整数,例如
int r = arc4random() % 5;
在0到4的范围内,间接从定义的NSArray中检索所需的“随机数”。
否则,您可以使用电源或其他算术计算来获得所需的输出等,但如果您知道只有5个候选人,那么为什么要浪费计算的费用呢?
答案 4 :(得分:0)
喜欢这个
NSArray *numbers = [NSArray arrayWithObjects:[NSNumber numberWithInt:0], [NSNumber numberWithInt:4],[NSNumber numberWithInt:8],[NSNumber numberWithInt:16],nil];
int myRandom0to16 = [[numbers objectAtIndex:arc4random()%numbers.count] intValue];
答案 5 :(得分:0)
int random =(arc4random()%5)* 4;
对于Ex-
如果随机数为0,则得到0 * 4 = 0
如果随机数为1,则得到1 * 4 = 4
如果随机数为2,则得到2 * 4 = 8