Для этого вашего свойства, любому ли числу соответствует какая-то сумма? Если так, ну и дополнительно ограничить аргументы функции счетным множеством (скажем, натуральными числами), то можно провести аналогию между такими функциями и системами счисления.
FYI: это «совсем недавно» было в конце 2008-начале 2009 года, то есть почти 3 года назад. Для сравнения: основателей хотели посадить (или посадили?) на год.
Но это всё-же не вопрос. Это предложение.
Безусловно. Но тем не менее, вы предлагаете весьма жёсткое наказание за достаточно незначительную (по крайней мере я считаю, что большинство считает её таковой) ошибку. Как по мне, это всё-же проявление граммар-наци :)
Возможно, это 12309. Чуть попродробней: bugzilla.kernel.org/show_bug.cgi?id=12309 — «Bug 12309 — Large I/O operations result in poor interactive performance and high iowait times». Это очень известный и весьма эпохальный баг в ядре. Видимо, вы столкнулись с его проявлением. По крайней мере подозрение по симптомам есть.
Подобным образом поступили QIP-овцы, с GPL'ным модулем Jabber миранды. Они его просто подключили. А когда их прижали за нарушение GPL, они написали авторам миранды и они добавили пункт в лицензию — мол, QIP'у можно %)
Ну, идея в том, что из экзешника (или из library.zip, который может сгенерить py2exe, в зависимости от настроек) обычным архиватором достаются *.pyc файлы. Дальше — включается проект Decompyle, который вроде бы как этим умеет заниматься. Насколько успешно — не знаю, но думается, что терпимо :)
А по поводу защиты — как вариант, прогнать вышедший exe-файл через всякие шифраторы-заспаковщики (UPX, или еще чего-нибудь — в этой теме не сильно разбираюсь). В принципе, обратимо тоже, но более проблематично :)
Кстати, если я правильно в своё время разобрался в вопросе, py2exe обратим. То есть имея на руках exe-шник, сделанный с его помощью, можно несложно получить исходник. Это просто частично оффтопный комментарий к closed-source :)
Мм, хэш-таблица даёт возможность поиска по ключу. Что же использовать тут в качестве ключа? Номер в массиве? тогда вставка будет увеличивать все ключи большие этого на 1 — не вариант. Тогда что?