выбор случайных чисел N раз в день с суммой M


person Ariyan    schedule 14.04.2012    source источник
comment
я не думаю, что это дублирование ??? Что ты думаешь @Snigger   -  person Baba    schedule 14.04.2012
comment
@Truth: мне нужен только первый номер, и я выбираю дискретно. Мой M меняется каждый раз, когда мне нужен новый номер (ПредыдущийM - ПредыдущийK)   -  person Ariyan    schedule 14.04.2012
comment
Этот код PHP поможет вам ..... codepad.viper-7.com/knf4h9 ... написал это для вас, но ваш вопрос уже был закрыт   -  person Baba    schedule 14.04.2012
comment
Как это не дубликат? Вы хотите сгенерировать N случайных чисел с заранее известным фиксированным значением. Это именно то, что задают по связанному вопросу.   -  person Madara's Ghost    schedule 14.04.2012
comment
@Snigger Я также написал решение. Вы можете просмотреть его в Интернете по адресу codepad.org/fcaZgyXm с сопровождающим блогом по адресу sampsonblog.com/246/n-parts-for-sum-in-php   -  person Sampson    schedule 14.04.2012


Ответы (1)


<?php
function generate_random_sum($sum = 100)
{
    $out = array();
    while(array_sum($out) !== $sum)
    {
        $out[] = mt_rand(1, ($sum - array_sum($out)));
    }
    return $out;
}

print_r(generate_random_sum(100));

Это помогает?

Это даст вам массив различных значений на общую сумму M в вашем вопросе. Не уверен, как заставить его создать N пользователей, если кто-то хочет расширить, не стесняйтесь.

person Dale    schedule 14.04.2012