首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >除某些数字外的arc4random

除某些数字外的arc4random
EN

Stack Overflow用户
提问于 2010-02-27 04:13:13
回答 4查看 2.2K关注 0票数 0

怎样才能禁止使用arc4random函数选择某些nubers呢?

当前代码:

int random = (arc4random() % 92);

(从0到92的数字)

我希望它不允许以下数字:31, 70, 91, 92

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-02-27 04:17:00

首先,你需要改变

代码语言:javascript
复制
% 92

代码语言:javascript
复制
% 93

从0..92中获取数字

我会做这样的事情

代码语言:javascript
复制
int random;

do {
    random = arc4random() % 93;
}
while ( random == 31 || random == 70 || random == 91 || random == 92 );
票数 10
EN

Stack Overflow用户

发布于 2010-02-27 04:23:10

如果你要禁止数字91和92,为什么要在你的mod中包含它们呢?

在前一个答案的基础上进行扩展:

代码语言:javascript
复制
int random;
do {
    random = arc4random() % 91;
}
while ( random == 31 || random == 70 );
票数 4
EN

Stack Overflow用户

发布于 2010-02-27 04:17:13

简单地说,继续询问数字:

代码语言:javascript
复制
get a new random number
while the new number is one of the disallowed ones:
    get a new random number
return the random number

伪代码,但你应该明白这一点。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2344512

复制
相关文章

相似问题

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