2 개의 임의의 정수를 만드는 무작위 방법이 있습니다. 내 우려는 출력의 % 65- % 70은 "5-5", "4-4", "3-3"과 같은 정수입니다.arc4random을 사용하는 더 나은 방법
-(void)random{
NSUInteger randomNumber = arc4random_uniform(5);
switch (randomNumber) {
case 0:
_tile2.image = [UIImage imageNamed:@"one.png"];
break;
case 1:
_tile2.image = [UIImage imageNamed:@"two.png"];
break;
case 2:
_tile2.image = [UIImage imageNamed:@"three.png"];
break;
case 3:
_tile2.image = [UIImage imageNamed:@"four.png"];
break;
case 4:
_tile2.image = [UIImage imageNamed:@"five.png"];
break;
}
NSUInteger randomNumber2 = arc4random_uniform(5);
switch (randomNumber2) {
case 0:
_tile3.image = [UIImage imageNamed:@"one.png"];
break;
case 1:
_tile3.image = [UIImage imageNamed:@"two.png"];
break;
case 2:
_tile3.image = [UIImage imageNamed:@"three.png"];
break;
case 3:
_tile3.image = [UIImage imageNamed:@"four.png"];
break;
case 4:
_tile3.image = [UIImage imageNamed:@"five.png"];
break;
}
}
더 나은 결과를 얻으려면 25 가지 사례를 만들어야합니까?
NSUInteger randomNumber = arc4random_uniform(25);
switch (randomNumber) {
case 0:
_tile2.image = [UIImage imageNamed:@"one.png"];
_tile3.image = [UIImage imageNamed:@"one.png"];
break;
case 1:
_tile2.image = [UIImage imageNamed:@"one.png"];
_tile3.image = [UIImage imageNamed:@"two.png"];
break;
case 2:
_tile2.image = [UIImage imageNamed:@"one.png"];
_tile3.image = [UIImage imageNamed:@"three.png"];
break;
case 3:
_tile2.image = [UIImage imageNamed:@"one.png"];
_tile3.image = [UIImage imageNamed:@"four.png"];
break;
case 4:
_tile2.image = [UIImage imageNamed:@"one.png"];
_tile3.image = [UIImage imageNamed:@"five.png"];
break;
case 5:
_tile2.image = [UIImage imageNamed:@"two.png"];
_tile3.image = [UIImage imageNamed:@"one.png"];
break;
...
}
}
arc4random_uniform은 임의의 정수를 가져 오는 데 유용합니다. 2 개 이상의 임의의 숫자를 가져올 필요가있을 때 그 결과는 그렇게 좋지 않습니다. 이 일을하는 가장 좋은 방법은 무엇입니까?
큰 배치에서 '동일한 정수'의 비율을 65-70 %로 계산 했습니까? 두 가지 방법을 모두 사용하여 ± 20 % 여야합니다. 두 번째 방법으로 25 가지 경우를 만들 필요는 없으므로 'randomNumber/5'를 사용하여 첫 번째 숫자를 추출하고'randomNumber % 5'를 사용하여 두 번째 숫자를 추출한 다음 첫 번째 방법과 동일하게 계속 진행할 수 있습니다. – Aaganrmu
@Aaganrmu 예. 1000 개의 숫자가있는 첫 번째 무작위 방법의 출력을 확인했습니다. 결과는 65-70 %라고 말한 것과 같습니다. 두 번째 방법의 목적은 동일한 숫자를 얻을 확률을 줄이는 것입니다. 그러나 3 개 이상의 난수를 얻으려면이 방법으로 재앙이 발생합니다. – Taha
난 그냥 같은 테스트를 실행하고 예상대로 20 % 만 동일했다. – ahwulf