Роблячи розумовий аналіз, можна:
- Давши ціле k, підсумовуйте всі цифри (в базі 10), і якщо результат кратний 3, то k кратне 3.
Чи знаєте ви, що алгоритм працює аналогічно, але працює на двійкових цифрах (бітах)?
Спочатку я думав використати готові функції моєї мови для перетворення цілого числа в ascii для здійснення перетворення з бази 2 в базу 10, а потім застосувати трюк розумового числення. Але, звичайно, тоді я також міг би сам закодувати базову конверсію 2 до 10. Я ще цього не зробив, але спробую.
Тоді я подумав про евклідовий поділ у базі 2 ...
Однак мені цікаво, чи існують інші засоби, алгоритми.