Это чистая математика на самом деле:
10x + 8y = z, где z - ваше общее желаемое количество
Если вы хотите знать, собираетесь ли вы иметь полные паллеты или нет, я предлагаю поискать наибольший общий множитель приведенного выше уравнения, который в данном случае равен 2.
Результат: если z/2 = целое число и оно положительно, то вы можете использовать полные поддоны.
Если вы хотите знать, сколько поддонов использовать для каждого, вам нужно сделать следующее:
увеличьте y на 1, пока у вас нет положительного целого числа для x, поэтому:
у = у + 1
Получив следующее уравнение для х:
x = (z-8y)/10 где z - ваша общая сумма, а y - автоматически увеличенное число
в сочетании с цитатой y сверху:
for (y = 0; x = positive and integer; y = y + 1) {
x = (z-8y)/10;
print x;
print y;
}
// не запускаем этот цикл, если z/ 2 не является целым и положительным
с другой стороны, когда вы хотите открывать поддоны случайным образом: пример
10x + 8y = 72
разделите вашу сумму на наибольшую сумму на поддон и возьмите остаток от наименьшей суммы на поддон
72 = 10х => х = 7,2
целое число здесь 7, поэтому возьмите 7 поддонов по 10 и возьмите 2 единицы поддонов из 8 единиц.
Если остаток от отношения> = 8, то вы можете взять по крайней мере 1 полный поддон из 8.
Реализация этого в Excel обойдется вам в большом количестве программ, и, как предлагается в комментариях, вам лучше поискать после добавления "Solver Excel", которое я также еще не использовал.