微信发红包算法探究

微信发红包,也就是把一个数随机分成n份,n份数额的的值等于总数额。
依据以上规则。实现如下
1.有最小值 其它随机分配
代码实现如下:

- (NSMutableArray *)getRedFromJavaWithTotalMoney:(CGFloat)total redNumber:(NSInteger)number minMoney:(CGFloat)min
{

 if(total/number

2.有最小值和最大值
代码实现如下

- (NSMutableArray *)getRedFromJavaWithTotalMoney:(CGFloat)total redNumber:(NSInteger)number minMoney:(CGFloat)min maxMoney:(CGFloat)maxMoney
{
    if (total/number>maxMoney)
    {
        NSLog(@"最大值不合法");
        
        return nil;
    }
    if(total/numbermax?max:maxMoney;
        NSInteger k = (int)((number-i)/2);
        if (number -i <= 2)
        {
            k = number -i;

        }
        max = max/k;
        
        double val = ((double)arc4random() / 0x100000000);
        if (max

好好学习 天天向上
不足之处 欢迎指出

你可能感兴趣的:(微信发红包算法探究)