Я работаю над отчетом на C#, в котором мне дано общее количество отпечатков, напечатанных отделом, и я должен их распространять в соответствии с датой месяца, когда 10 марта распечатаны и т. д. до 31 марта.Сгенерировать 30 случайных чисел из заданной суммы
У меня есть форма, которая учитывает общее количество распечаток. У меня есть Селектор месяца.
От месяца я получаю общее количество дней, которое является общее число будет генерироваться, например: 30 или 31 или 28
Сценарий:
В марте месяце 2000 Печатает аутов Общая сумма месяц: 2000 Числа будут генерироваться: 31
это мой код
int sum = 2345;
int nums = 23;
Random rand = new Random();
int newNum = 0;
int[] ar = new int[23];
for (int i = 0; i < nums; i++)
{
newNum = rand.Next(0, sum);
ar[i] = newNum;
sum = sum - newNum;
}
for (int i = 0; i < 23 ; i++)
{
Console.WriteLine(ar[i]);
}
Console.ReadLine();
, что происходит, я n конечных чисел оно обращается в нуль. Я хочу Нормально распределенный, как и по одному индексу, сначала сохраняет максимальное значение, а в конце он уменьшается.
У нас есть третья партия Ricoh Print/PhotoCopier Machine, и третьи стороны оплачивают нам определенную сумму, которую они подсчитали, что наш отдел напечатал 3000 распечаток, поэтому мы должны распределять их в дни произвольно, распечатывать отчет и получить счет-фактуру от нашего руководителя отдела.
Люди отдела делают это на предел, я предложил им дать им решение. Форма заявки для Windows построена, и я просто поставить эту логику, вот и все .. Спасибо за ваши отзывы
Начните писать код, обратитесь за помощью, когда застрянете. –
Как бы вы сделали это на бумаге? –
Для равномерного распределения используйте: http://stackoverflow.com/a/16884017/2192494 –