Rustam2002,
Я написал. Не «не может быть», а «может не быть», и достаточно найти контрпример, где она не является асимптотически положительной.
И этот контрпример простой: f и g — функции, всегда равные нулю.
Wataru, Сам я «буквой» считаю кодовую позицию Юникода, так мне надо, но из-за префиксности форматов сериализации UTF-8 и 16 в них эти 3000 эмодзи также будут обладать этим свойством.
Wataru, НЕТ. Кодовые позиции Юникода в любом из форматов его сериализации (UTF-8, UTF-16) — префиксный код: A∈ℋ → AB∉ℋ. Ну а любой код фиксированной длины (UTF-32) префиксный по определению.
Эмодзи Юникода обладают более лёгким, но тоже интересным свойством. Рассмотрим, например, эмодзик «феникс»: BIRD ZWJ FIRE. Видно, что эмодзи — НЕ префиксный код: BIRD∈ℋ, BIRD ZWJ FIRE∈ℋ.
Но при поиске этих эмодзиков алгоритмами типа Ахо-Корасик получается, что если у нас BIRD ZWJ RABBIT → обнаружив кролика, мы просто возвращаемся в начало поискового дерева и снова ищем этого кролика от корня. 80% сложностей этого алгоритма отпадают из-за особенности тех строк, что мы ищем.
232321fdsa, Если же вы пишете собственную узкоспециализированную систему сборки (то есть компилятор гарантированно на месте, но прогой оперирует не пользователь, а такой же, как вы, разработчик) — придётся поискать, где компилятор находится и с какими ключами его вызывать.
232321fdsa, Ну и вариант 3, но он редкий — это утилиты, автономные процессы-EXE’шники. Поскольку наладить сложное взаимодействие с утилитой — та ещё работа, обычно используются как преобразователи форматов или что-то подобное.
232321fdsa,
Межъязыковые плагины = основная программа на одном языке, плагин на другом. Даже если это разные разновидности Си++: «амбаркадебра» и MinGW.
232321fdsa, Не важно, какой компилятор — Си++ не таскает за собой компилятор.
Интерпретируемым или в основном интерпретируемым языкам вроде JavaScript и Python нужен интерпретатор, без него никак — вот и приделали функциональность взять исходный файл и тоже протащить через интерпретатор. Си++ свободен от этой огромной проги, запущенная прога скомпилирована в машинный код давным-давно.
Расширение прог пользователями — дело сложное, и, как я сказал, интерпретируемым языкам легче. Полуинтерпретируемые языки (C#, Java) часто имеют дело с интерпретируемыми модулями соответствующей виртуальной машины. А если язык компилирует в машинный код (Паскаль, Си) — варианта два.
1. Плагины — динамические модули на машинном коде. Мне доводилось делать плагинную функциональность, в том числе межъязыковую, но на самом низком доступном уровне: напрямую через LoadLibrary, только под Windows.
2. Скрипты — прога таскает за собой интерпретатор языка попроще. Как я сказал, классический пример такого языка — Lua. Проги побольше (Inkscape, FontForge) любят Python.
По самому простому определению, позиционная система счисления — это система счисления…
1. С цифрами от 0 до b−1. Число b натуральное, не единица.
2. Каждая цифра имеет множитель 1, b², b³, 1/b, 1/b² и т.д. в зависимости от её положения в числе.
Под это определение не подходят системы с двойным основанием (вавилонская) и прочая экзотика — но ничего не говорится о том, что старшие разряды идут первыми.
historydev, Это уже вопрос истории и причин тут много.
1. В каком порядке мы говорим числа. Допустим, арабские непозиционные числа — есть такие в Юникоде двух видов, индийские времён Моголов и турецкие — записывают 123 как 100, 3, 20. https://commons.wikimedia.org/wiki/File:1940_Bank_...
В центре на реверсе — арабская непозиционная цифра, индийский извод.
2. Округление и прочие действия: 123 → 120 или 100.
Кирилл, Да, и ещё. Делать разные типы башен или врагов наследованием можно только в отдельных случаях, когда наследование помогает. Дело в том, что у игровых объектов приходится комбинировать разные механики: ближний и дальний бой, лёгкая и средняя броня и т.д. Кроме того, любая программа делится на слои, когда высокоуровневая информация о башне не знает об игровых координатах и временны́х тактах (иначе был бы один труднораспутываемый комок) — так что куда проще в играх использовать движки, основанные на данных.