我想获得4个不同的随机数,它们的总数必须为100(rN1 + rN2 + rN3 + rn4 = 100)
答案 0 :(得分:10)
就像这样:
NSInteger r1, r2, r3, r4;
r1 = arc4random_uniform(96);
r2 = arc4random_uniform(97-r1);
r3 = arc4random_uniform(98-r1-r2);
r4 = 100-r1-r2-r3;
答案 1 :(得分:0)
我认为,这是最简单的方法:
1。在1到100之间生成3个随机数。
2. 计算总和
3。并生成第4个数字 - 添加计算总和与100之间的差异。
答案 2 :(得分:0)
BOOL flag = false;
int r,r1,r2,r3;
while (!flag) {
r = arc4random_uniform(100);
r1 = arc4random_uniform(100);
r2 = arc4random_uniform(100);
r3 = arc4random_uniform(100);
if (r+r1+r2+r3 == 100) {
flag = true;
}
}
NSLog(@"%d %d %d %d",r,r1,r2,r3);