Как делить галеоны

G
Завершён
236
автор
Размер:
5 страниц, 1 555 слов, 1 часть
Описание:
Примечания:
Публикация на других ресурсах:
Уточнять у автора / переводчика
236 Нравится 36 Отзывы 42 В сборник

Часть 1

Настройки
      Представьте себе типичный задачник по арифметике для магов.       1. Трое батраков работали на расчистке конюшен у Авгия Малфоя. За целый день тяжёлой работы Малфой заплатил им один полновесный галеон на троих. Сколько сиклей и кнатов полагается каждому батраку?       2. Рон Уизли получил недельное жалование в 5 галеонов и решил отправиться из Косого переулка в Нору камином. Внезапно из зелёного пламени ему сообщили, что каждый пользователь каминной связи должен заплатить единоразовый сбор на развитие сети в 13% от всей суммы у него в карманах. Сколько денег останется у Рона, если аппарировать он так и не научился, а все магазины сладостей в Косом переулке уже закрыты? А сколько денег ему нужно попросить у встреченного им Гарри Поттера, чтобы до дому удалось-таки донести исходные 5 галеонов и ещё один галеон «приврамши»?       3. Альбус Дамблдор зашёл в «Три метлы» и обнаружил там 28 гриффиндорцев, отмечающих победу над слизеринской командой. Лихо хлопнув на стойку целых семь галеонов, Дамблдор объявил, что угощает родной факультет по кружке пива на каждого, да ещё Розмерте 10% на чай, а на оставшуюся сдачу попросил себе стаканчик Огденского. Сколько денег придётся доплатить Дамблдору вместо сдачи, если пиво стоит 4 сикля, а Огденское — 13 сиклей 13 кнатов? А если бы при этом ещё и пришлось давать на чай?       Мелочь. Разменная монета. Система дробления валюты. Средство проведения сделок с максимальной точностью. Мы привыкли, что мелочь проста и понятна: в одном рубле сто копеек, в одной золотой фэнтезийной монете десять серебряных и сотня медных монет. Просто добавь несколько нулей и считай как раньше.       Но так было не всегда и не везде. Германский талер состоял из 48 шиллингов, а индийская рупия делилась на 16 аннамов, 64 пайсама и 192 пайи, составляя в свою очередь 1/15 мохра. В английском фунте до 1971 года было 20 шиллингов и 240 пенсов. Заплатив один шиллинг за пятипенсовый стакан газировки, советский турист мог внезапно получить 7 пенни сдачи. Мелочь, а приятно.       В математике это называется системой счисления со смешанным основанием. Когда «единицы» у тебя — с основанием 12, «десятки» — двадцатиричные, а остальные разряды — традиционно десятичные.       В принципе, можно жить и в таком мире, главное — чтобы у оснований было побольше делителей. Вот у дюжины в делителях — аж 2, 3, 4 и 6, а потому дюжинная дробь показывает деление на три так же легко, как и на два; а вот 10 = 2 x 5, и потому десятичной дробью нельзя компактно представить результат деления на три с остатком: обязательно будет мерзкая каракатица вроде 4/3 = 1.3333333… . А в 12-ричной системе — можно: 4/3 = 1.4 несмотря на остаток (в 12-ричных цифрах, конечно). А задача деления на троих в обычной жизни встречается часто. И потому любые интеллектуальные системы счёта в древности тяготели к 12 и 60. Для «двенадцати» во многих языках даже слово отдельное придумано — «дюжина» (и «гросс» для дюжины дюжин), и это не просто так. Десятичная система хороша лишь тем, что в ней чуть проще складывать на пальцах в пределах двух десятков. Обалдеть достоинство, особенно с учётом того, как часто мы им пользуемся! Но увы, победило серое большинство. Как и всегда.       Однако денежная единица Магической Британии пошла дальше. Один галеон равен 17 сиклям, один сикль — 29 кнатам. Оба разменных основания — простые числа. Не взаимно простые даже, а — вообще простые. Делителей у простых чисел нет. Совсем. И потому один галеон без остатка можно поделить лишь либо на 17 (получится один сикль), либо на 29 (получится 17 кнатов).       И потому делать точные расчёты в такой системе дробления валюты — весьма непросто. Если вы хоть когда-нибудь делили «в лоб» галеон на три части, вы меня поймёте.       Цель данной статьи — привести два лайфхака по галеоновой арифметике, в том числе из секретного учебника для маленьких гоблинов. Лайфхаки сделают вашу бухгалтерию простой и понятной, а гоблинов — заставят скрежетать зубами. Надеюсь, это пригодится авторам фанфиков.       Сложение галеоновых сумм       Это простая задача, относительно легко решаемая поразрядным сложением. Гоблины втюхивают эту методику «чавам» (так они называют людей) как высшую финансовую бухгалтерию, и в интернете в ассортименте можно отыскать как учебники с нужными алгоритмами, так и онлайн-калькуляторы. Но статья была бы неполной без их упоминания. Просто переходите к следующему разделу, если вам не интересно читать про поразрядное складывание сумм.       Допустим, у нас есть две галеоновые суммы: (g1 галеонов s1 сиклей k1 кнатов) и (g2 галеонов s2 сиклей k2 кнатов).       Сложение. Складываем отдельно кнаты с кнатами (k1 + k2), сикли с сиклями (s1 + s2) и галеоны с галеонами (g1 + g2) — именно в таком порядке.       Если получилось так, что кнаты переполнились за 29 (k1 + k2 ≥ 29), добавляем единицу в сикли и вычитаем 29 из суммы кнатов; а если сикли (с учётом переноса) переполнились за 17 — добавляем единицу в галеоны и вычитаем из сиклей 17.       Пример: 3g 12s 20k + 2g 4s 10k = ?       10k + 20k = 30k (≥ 29) = 1k + 1s (перенос в сикли);       12s + 4s + 1s (перенос) = 17s (≥ 17) = 0s + 1g (перенос в галеоны);       3g + 2g + 1g (перенос) = 6g.       Итого, 3g 12s 20k + 2g 4s 10k = 6g 0s 1k.       Вычитание (для умников со звёздочкой). Вычитаем отдельно кнаты из кнатов (k1 — k2), сикли из сиклей (s1 — s2) и галеоны из галеонов (g1 — g2) — именно в таком порядке.       Если при вычитании кнатов получилось отрицательное число (k1 — k2 < 0), прибавляем к этому отрицательному числу 29 и занимаем из сиклей один сикль.       Если при вычитании сиклей (с учётом заёма) получилось отрицательное число, прибавляем к этому отрицательному числу 17 и занимаем из галеонов один галеон.       Пример. 5g 3s 25k — 3g 10s 12k = ?       25k — 12k = 13k, заём не требуется;       3s — 10s = -7s, занимаем один галеон: -7s + 17s (– 1g) = 10s (– 1g).       5g — 3g — 1g (заём) = 1g.       Итого, 5g 3s 25k — 3g 10s 12k = 1g 10s 13k.       Умножение и деление галеонов на число       «Запомни, маленький гоблин: умножать галеоны на галеоны бессмысленно. Получаются галеоны в квадрате, а в этом нет прибыли. Но можно:       • умножать галеоны на некоторый безразмерный коэффициент (на скаляр, как сказал бы гоблинский мудрец); это позволит вычислять процент от суммы, кратно увеличивать сумму при оплате партии товара, назначать стоимость работ по цене за квадратный метр и т.п.;       • делить галеоны на скаляр; та самая задача деления на троих, вычисление среднего дохода в банке и т.д.;       • делить галеоны на галеоны; это полезно, если нужно узнать, на сколько процентов подросли цены на недвижимость или доходы за предыдущий квартал».       Делить галеоны поразрядно можно, но сложно, особенно если в делителе — тоже галеоны. Вместо этого у гоблинов имеется другой метод: временно перевести всё в кнаты. Странно, но этот очевидный для математиков подход нигде не встречался мне в Интернете: люди ограничиваются лишь поразрядным сложением. Справедливо заподозрим в этом гоблинов и восполним пробел в качестве жизни.       Итак, чтобы сделать какую-либо из приведённых выше операций, нужно:       1. Перевести все галеоновые суммы в кнаты. Возможно, число получится большим — ничего страшного, это всё равно лучше поразрядного счёта.       2. Выполнить все необходимые действия с кнатами как с обычным числом: взять сложный процент, поделить, вычислить статистическую функцию и пр. С дробной частью следует поступать так, как того требует исходная задача: если делить следует с сохранением общей суммы, делить нужно с остатком, а если допускается дробная часть (статистика), то оставлять её как есть.       3. Перевести кнаты обратно в галеоны-сикли-кнаты.       Теперь подробно.       Пункт 1. Перевод суммы в кнаты.       Если у нас есть сумма (g + s + k), то сумма в кнатах будет:

c = 493 * g + 29 * s + k

      Здесь 493 — это 17 x 29. Именно столько кнатов в галеоне.       Пункт 2 в комментариях не нуждается. Работаем с суммой «c» по обычным правилам.       Пункт 3. Перевод кнатов в галеоны-сикли-кнаты.       a) Если после пункта 2 у нас появилась дробная часть или остаток, временно отделяем их и сохраняем отдельно. Далее работаем только с целыми числами.       b) Делим общую сумму на 493 нацело с остатком. Результат деления — число галеонов. Остаток сохраняем для работы дальше.

g = floor (c : 493)

q = reminder (c : 493)

      c) Остаток из предыдущего пункта делим нацело на 29. Результат деления — количество сиклей. Остаток от деления — количество кнатов.

s = floor (q : 29)

k = reminder (q : 29)

      d) К получившейся сумме кнатов k прибавляем сохранённую дробную часть или остаток. Итоговая сумма: g галеонов, s сиклей, k кнатов.       Пример 1. Поделим, наконец, галеон на троих.       Переводим в кнаты. 1g = 493k.       Делим на троих. 493 : 3 = 164, остаток 1. Кому-то достанется на один кнат больше.       Переводим в валюту Магбритании:       Остаток 1 запоминаем, работаем с числом 164.       164 меньше 493 — следовательно, галеонов нет.       164 : 29 = 5 (сиклей), остаток 19 (кнатов). Плюс один неразделённый кнат.       Итог: два батрака получили по 5 сиклей 19 кнатов, один — 5 сиклей 20 кнатов.       Неочевидно, если не знать как. Но легко проверяется сложением.       Решим ещё задачку для закрепления методики.       Пример 2. Рон поехал в Египет на стажировку и сломал там палочку. Сколько денег нужно отправить маме Молли своему непутёвому сыну, если палочка стоит 7 галеонов 8 сиклей 9 кнатов, а гоблины берут 13% за почтовый перевод?       a) Переводим в кнаты: c = 7 * 493 + 8 * 29 + 9 = 3692. Да, числа могут получаться большими.       b) Вычисляем исходную сумму почтового перевода: c2 = 3692 * 1.13 = 4171.96 кнатов. Формулу не комментирую: почтовые работники держат её в секрете.       c) Дробную часть округляем в большую сторону: и по справедливому округлению, и потому что гоблины всегда округляют в свою пользу. Мама Молли должна занести 4172 кната. Переводим в галеоны:       4172 : 493 = 8 галеонов, остаток 228.       228 : 29 = 7 сиклей, остаток 25 кнатов.       Итог: Молли придётся отдать кассиру 8 галеонов 7 сиклей 25 кнатов.       «И помни, маленький гоблин: настоящее золото может быть и в кнатах; главное — чтобы они текли рекой».       Надеюсь, разобранная на пальцах арифметика магической валюты принесёт некоторую пользу фанонописцам. Вопрос, каким образом волшебники делят в уме галеоны на 493, выходит за рамки математической направленности статьи и отдаётся на откуп конкретным произведениям.
236 Нравится 36 Отзывы 42 В сборник
Отзывы (36)