избиране на случайни числа N пъти на ден със сума M

Възможен дубликат:
Избиране на n числа с фиксирана сума

Разработвам бот за моята Bux система в PHP. ботът трябва да се изпълнява N пъти на ден и всеки път да създава променливи (произволни) K потребители по начин, че сборът на потребителите за деня да бъде фиксиран (M).
Как мога да постигна това? (Избиране на произволно число N пъти тази сума от числа е M).


person Ariyan    schedule 14.04.2012    source източник
comment
не мисля, че се дублира??? Какво мислиш @Snigger   -  person Baba    schedule 14.04.2012
comment
@Truth: Трябва ми само първо число и изборът ми е дискретен. Моят M се променя всеки път, когато имам нужда от нов номер (PreviousM - PreviousK)   -  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