0 到 20 之间的随机数,跳跃 4 次

发布于 2024-10-31 13:25:10 字数 126 浏览 4 评论 0原文

你好 我很乐意生成随机数 我有一个包含 20 个变量的数组,我想在该范围内随机选择,条件是每 4 个变量跳转一次。随机数应该是(0、4、8、12 或 16)??我该怎么办? 我的 NSArray 类型数组...

谢谢,

HI
i'm stock with generating a random number
I have an array that holds 20 variables, and i want to choose randomly within that range with a condition that it jumps every 4 variables. the random number should be either (0 , 4, 8, 12 or 16)?? how can I do that ?
my array of type NSArray...

Thanks,

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

栀梦 2024-11-07 13:25:10
int random = (arc4random() % 5)*4;
int random = (arc4random() % 5)*4;
喜爱纠缠 2024-11-07 13:25:10

使用下面的代码块

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}

Use below block of code

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}
云淡月浅 2024-11-07 13:25:10

您可以使用 int r = arc4random() % 20; 来获取随机数。然后,当您想要获得另一个随机数时,请检查您之前获得的数字并根据您的需要使用它

You can use int r = arc4random() % 20; for getting the random number. Then by the time you want to get another random number check the previous number that you obtained and use it according to your needs

尾戒 2024-11-07 13:25:10

我认为最好的方法是将你的“随机数”存储到一个

新的 NSArray: [0 , 4, 8, 12, 16] 中。

然后你可以生成一个标准随机整数,例如

int r = arc4random() % 5;

0到4范围内的整数,并从定义的NSArray中间接检索你想要的“随机数”。

否则,你可以使用幂或其他算术计算来获得你想要的输出等,但是如果你知道你想要的只有 5 个候选者,为什么还要浪费计算的精力呢?

I think the best way is to store your "random numbers" into a

new NSArray: [0 , 4, 8, 12, 16].

Then you can generate a standard random integer such as

int r = arc4random() % 5;

in the range of 0 to 4 and indirectly retrieve your desired "random numbers" from the defined NSArray.

Otherwise, you can use power or other arithmetic calculation to get your desired output etc, but why waste the effort of calculation if you know there's only 5 candidates you wanted?

饭团 2024-11-07 13:25:10

int 随机 = (arc4random() % 5)*4;

例如,

如果随机数为 0,则得到 0 * 4 = 0

如果随机数为 1,则得到 1 * 4 = 4

如果随机数为 2,则得到 2 * 4 = 8

int random = (arc4random() % 5)*4;

For Ex-

if random no is 0 then you get 0 * 4 = 0

if random no is 1 then you get 1 * 4 = 4

if random no is 2 then you get 2 * 4 = 8

千纸鹤带着心事 2024-11-07 13:25:10

像这样

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];

Like this

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];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文