官术网_书友最值得收藏!

2.15 隨機數

雖然計算機從不干隨機的事,但有時候,比如,在開發游戲的時候,隨機數又是一項非常重要的工具。

在Objective-C中,我們可以使用arc4random()函數快速生成一個隨機的正整數。那么,我們如何控制隨機數的范圍呢?如果這個范圍是連續的就好了,我們主要討論兩種情況。

第一種情況,如果我們需要從0到n-1的隨機正整數,可以直接使用如下的代碼。

    int rndNum = arc4random() % n;

代碼中,我們得到arc4random()函數生成的隨機數除以n的余數,這樣,其結果就只是0到n-1之間的整數了。此外,這種情況也可以進行一些變形,比如,我們需要0到n的隨機數,可以使用如下代碼:

    int rndNum = arc4random() % (n + 1);

如果需要1到n之間的隨機數,可以使用如下代碼。

    int rndNum = arc4random() % n + 1;

第二種情況,如果我們需要min到max之間的隨機整數,可以使用以下代碼。

    int rndNum = arc4random() % (max - min + 1) + min;

我們可以看到,這是一個通用的獲取一個連續范圍隨機整數的算法。實際上,如果min為1或0時,我們也就可以推算出前面的代碼了。

主站蜘蛛池模板: 永定县| 新郑市| 潍坊市| 裕民县| 淮北市| 湖州市| 梁山县| 东城区| 铁岭市| 凤台县| 顺昌县| 江门市| 政和县| 贡山| 本溪市| 育儿| 元氏县| 吉木萨尔县| 邳州市| 兴宁市| 宜兰县| 临朐县| 刚察县| 灵台县| 宣城市| 琼结县| 海原县| 通河县| 明溪县| 甘南县| 乌拉特后旗| 莱州市| 宁夏| 广西| 霍城县| 泾源县| 肃北| 蕉岭县| 泸定县| 汤原县| 炉霍县|