«Винчестера, разумеется, нет, а данные предлагается записывать на двухгигабайтную microSD-флешку» — мягко говоря, неадкватный перевод для оригинальной фразы «2GB of flash storage, and a microSD card slot for expansion.»
Классический книжный вариант решения, работающий без контроля переполнения, дает начиная с некоторого порогового аргумента неверные ответы и вычисляет их именно за O(n) :)
Вы правы, я выразил свою мысль невнятно. Я имел в виду представления, где мантисса хранится не в дополнительном коде. Соответственно, к примеру, мы можем иметь +0.0 и -0.0.
Классическое «из книжки» решение (итерация или рекурсия) дает время выполнения формально O(n), но ввиду очень быстрого роста результата имеет смысл применять выборку их предварительно вычисленной таблицы значений, что дает нам независимость времени исполненния от значения параметра.
А теперь вопрос: где та же ошибка навредит программисту, пишущему на C++? Случай кретинов, которые пишут код и сразу после компиляции деплоят его в ядерный реактор рассматривать не будем. :)
Учтем, что у нас есть хотя бы модульное тестирование. Буду признателен за пример.
Практика использования wiki и внутрипроектных блогов показывает, что не менее половины программистов в состоянии писать связные тексты.
Практика применения agile-техник показывает, что 100% программистов умеют полноценно вербально общаться.
Проблема обычно либо в наборе кодеров-за-пятачок-пучок вместо программеров или в менеджменте, который в состоянии только врываться к программерам и орать на них. А так — все они могут.
Двое из оракловых программеров, с которыми я с удовольствием работал в проектах, ответили на этот вопрос неправильно. Один сказал, что 1024, другой — 255(!). К счастью, никто не спросил этого на интервью.
Реакция на него отлично позволяет понять, может ли человек работать в коллективе и можно ли допускать его общение с заказчиком.
Один лично мне знакомый человек каждого спрашивает про оператор присваивания. Начинающие — путанно рассказывают, профессионалы — просто рассказывают, юные гениальные дарования, непригодные для работы — встают в позу. Сам этим вопросом не пользуюсь, но идея мне нравится.
Учим язык, потом публикуем переводы. Не наоборот.
А вот Internet их действительно убил.
Что забавляет — так это маниакальное упорство, с которым неприменимые для какого-либо разумного использования примеры кочуют из книжки в книжку…
P.S. Кстати, у правильной реализации, считающей факториал для любого «int n», оценка будет существенно хуже O(n).
Учтем, что у нас есть хотя бы модульное тестирование. Буду признателен за пример.
Практика применения agile-техник показывает, что 100% программистов умеют полноценно вербально общаться.
Проблема обычно либо в наборе кодеров-за-пятачок-пучок вместо программеров или в менеджменте, который в состоянии только врываться к программерам и орать на них. А так — все они могут.
Так что если дошли до битов в байте — это явно идет анализ «ну может хоть помощником младшего кодера взять?»… :)
Один лично мне знакомый человек каждого спрашивает про оператор присваивания. Начинающие — путанно рассказывают, профессионалы — просто рассказывают, юные гениальные дарования, непригодные для работы — встают в позу. Сам этим вопросом не пользуюсь, но идея мне нравится.
Само собой, что таких нет смысла дообучать — проще нанять новых.
Со временем это вылечивается.