如何生成4个随机数和4个数字和必须为100

时间:2016-07-27 05:26:55

标签: ios objective-c

我想获得4个不同的随机数,它们的总数必须为100(rN1 + rN2 + rN3 + rn4 = 100)

3 个答案:

答案 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);