Другие языки программирования и технологии

Может кто знает? Не нужно решать, прост может кто знает как записать формулу расчета с целым и остатком? Заранее спасибо

1. В небольшом предприятии его сотрудникам выдаётся месячная зарплата. Кассир, имея на руках бухгалтерскую ведомость, собирается ехать в банк за деньгами. При этом он имеет возможность не просто подать заявку на общую сумму, а указать в ней также, какими именно купюрами ему хотелось бы получить её. Делается это для того, чтобы потом было удобнее рассчитываться с каждым отдельным работником (например, если выплаты производится, как говорят, «в конвертах»). Предварительно все исходные данные нужно представить в виде таблицы, где против каждой фамилии сотрудника, как только вводится начисленная ему зарплата, она тут же выражается соответствующим набором денежных знаков. Одновременно подводится и общий итог по всему коллективу для формирования банковского заказа. При определении набора следовать принципу наименьшего числа купюрРади упрощения задачи расчёт вести только на бумажные деньги с точностью до 10 рублей
Для расчётов использовать встроенные функции ЦЕЛОЕ и ОСТАТ из категории «математических» .
Nkalkamanov
Nkalkamanov
915
Судя по ЦЕЛОЕ и ОСТАТ из категории «математических», речь идет об экселе. Позвольте спросить, функцию ОСТАТ обязательно использовать или можно обойтись только ЦЕЛОЕ? Полагаю, главное решить поставленную задачу.

Значит так, приведу путь решения для купюр 50, 25, 10, 5, 3 и 1. Итак, в ячейки B1-G1 запишите приведенный ряд номиналов купюр. В ячейку А2 пишите сумму, которую требуется разбить. Остается заполнить шесть ячеек формулами

В2:=ЦЕЛОЕ(A2 / B1) {число купюр максимального номинала}
С2:=ЦЕЛОЕ((A2 - B1*B2) / C1)
D2:=ЦЕЛОЕ((A2 - B1*B2 - C1*C2) / D1)
E2:=ЦЕЛОЕ((A2 - B1*B2 - C1*C2 - D1*D2) / E1)
F2:=ЦЕЛОЕ((A2 - B1*B2 - C1*C2 - D1*D2 - E1*E2) / F1)
G2:=ЦЕЛОЕ((A2 - B1*B2 - C1*C2 - D1*D2 - E1*E2 - F1*F2) / G1)

Из первоначальной суммы вычитаем произведение номинала на число купюр этого номинала постепенно наращивая число слагаемых.

Вот и все. Остается скопировать формулы в нужное количество строк, ввести суммы зарплат и посчитать число разных купюр функцией СЧЕТЕСЛИ() с условием значение ячейки больше нуля.

Думаю, для своих номиналов переделать труда не составит. Собственно вся переделка сведется к указанию нужных номиналов в первой строкеи, возможно, добавлению (удаленю) ячеек с формулами в строке.
Неизвестно Неизвестно
Неизвестно Неизвестно
59 614
Лучший ответ
Предположим что у вас среда делфи, тогда используем математический модуль,  
Округление до целого по банковским правилам - x:=Round(345.87); //x: Extended; Здесь x=346.
Округление до двух знаков после запятой - x:=Roundto(x,-2); //x: Extended; uses Math;

Надеюсь помог.