0C中如何產生多個隨機互不相同的數.
-(NSArray *)randomArray
{
//隨機數從這里邊產生
NSMutableArray *startArray=[NSMutableArray array];
for (int i = 1; i<34; i++) {
[startArray addObject:@(i)];
}
//隨機數產生結果
NSMutableArray *resultArray=[[NSMutableArray alloc] initWithCapacity:0];
//隨機數個數
NSInteger m=6;
for (int i=0; i<m; i++) {
int t=arc4random()%startArray.count;
resultArray[i]=startArray[t];
startArray[t]=[startArray lastObject]; //為更好的亂序,故交換下位置
[startArray removeLastObject];
}
return resultArray;
}
//題目為產生6個 1-33的數.實現思路為 將得到的數從容器數組中以下角標的形式去除.
本文由用戶 zhanjun717 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!