我想知道是否有办法使用百分比来减少或更频繁地发生文本,比如我希望word1在1%的时间内出现,word2 40%的时间和word3出现59%的时间。
答案 0 :(得分:1)
如果你想要简单的百分比,随机选择[0,99]和&#34之间的数字;分配"范围到不同的结果。简单地说,
- (NSString*)randomWord
{
uint32_t r = arc4random_uniform(100);
if (r < 1) return word1;
if (r < 41) return word2;
return word3;
}
答案 1 :(得分:0)
最简单的方法是运行RNG(随机)(基于时间或动态的东西),比如1 - 100 然后你可以检查你得到的数字是否小于或等于1你想要的单词有1%的几率...... 如果你有另一个大于1的数字然后把那个有99%出现的单词 - &gt;它被简化了。
然而,它可能不是最好的解决方案,因为随机不是真正随机的(但这是另一个问题)。回到原来的问题
word1 - &gt; 1% is <=1
word2 - &gt; 40% is >1 && <= 40
word3 - &gt;可能是else