При выполнении умственного исчисления можно сделать:
- Дано целое число k, суммировать все цифры (в базе 10), и если результат кратен 3, то k кратен 3.
Знаете ли вы о каком-либо алгоритме, работающем аналогично, но работающем с двоичными числами (битами)?
Сначала я думал об использовании готовых функций моего языка для преобразования целых чисел в ascii, чтобы выполнить преобразование из базы 2 в базу 10, а затем применил трюк умственного исчисления. Но, конечно же, я мог бы также сам закодировать базовое преобразование от 2 до 10. Я еще этого не сделал, но попробую.
Тогда я подумал о евклидовом делении в базе 2 ...
Однако мне интересно, есть ли другие средства, алгоритмы.