Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Нетрудно и в уме прикинуть, что в числе 12 два двоичных бита, как и в числе 10 ...
И вообще, 0 единичных битов встречаются только в числе 0, все остальные числа имеют отличное от 0 число битов...
Да?
К тому же, в таком виде она не работает. Это - самый главный её недостаток:
Ну да, приоритет операций нужно поправить) http://codepad.org/2rMeYT6v
Многовато действий.
Разверните цикл, который используете и сравните :) Возможно, компилятор делает это за вас, а если нет - то всё ещё хуже, т.к. условные переходы плохо сказываются на производительности (даже учитывая branch prediction в процессорах).
Да?
Ну да, приоритет операций нужно поправить) http://codepad.org/2rMeYT6v
Разверните цикл, который используете и сравните :) Возможно, компилятор делает это за вас, а если нет - то всё ещё хуже, т.к. условные переходы плохо сказываются на производительности (даже учитывая branch prediction в процессорах).
Лучше теперь вы проверьте и убедитесь, что всё зависит от количества бит. При малом количестве бит идиома проигрывает. А при большом - выигрывает. Ничего удивительного в этом не вижу.
В любом случае прямой перебор не даёт залезть за 30 бит - долго ждать результата, причём, с каждым новым битом ожидание удваивается.
При использовании идиомы для заданных не менее 20, скажем, "орлов" при 30 "бросках" даёт в моей виртуалке 23 секунды ожидания, реализация "в лоб" - 142 секунды. То есть, в самом тяжёлом случае проигрыш - всего в 6 раз. Вы, наверное, ожидали большей разницы? Лично я для 30 "бросков" ожидал большей.
Мне интереснее двоичные биты. Могу поболтать о "троичных". Кстати, они ближе к идеалу (2.7182818285).
А по теме - есть, что сообщить интересного? Формулу какую-нибудь, соображения?
Я, например, по теме дал некоторый инструмент, который может оказаться полезным topic-starter'у.
При малом количестве бит идиома проигрывает.
Логично, при таком раскладе таблица должна выигрывать) Либо можно поиграться с кодами Грея, там bitcount последующего числа вообще можно за 1 сложение/вычитание вычислять.
Я ничего не ждал, а предложил очевидный способ оптимизации перебора.
А по теме - есть, что сообщить интересного? Формулу какую-нибудь, соображения?
Я, например, по теме дал некоторый инструмент, который может оказаться полезным topic-starter'у.
Думаешь, ему нужен инструмент?
Логично, при таком раскладе таблица должна выигрывать) Либо можно поиграться с кодами Грея, там bitcount последующего числа вообще можно за 1 сложение/вычитание вычислять.
Я ничего не ждал, а предложил очевидный способ оптимизации перебора.
Думаешь, ему нужен инструмент?
Для проверки - а верна ли формула или метод расчёта, которые он найдёт?
Мне бы лично явно был нужен инструмент такой проверки. Заодно и прямые результаты на малых величинах.