Цитуючи це запитання на SO (сповіщення спойлера!):
Це питання було задано в інтерв'ю Oracle.
Як би ви поділили число на 3, не використовуючи операторів *, /, +, -,%?
Номер може бути підписаним або без підпису.
Завдання вирішується, але подивіться, чи можете ви написати найкоротший код.
Правила:
- Виконайте необхідне ціле ділення (
/3
) - Не застосовувати препарат оператори , які базуються на тексті
*
,/
,+
,-
, або%
(або їх еквіваленти, такі як__div__
абоadd()
). Це стосується також операторів збільшення та зменшення, таких якi++
абоi--
. Використання операторів для об'єднання рядків і форматування в порядку. Використання цих символів для різних операторів, таких як унарний-
оператор для від'ємних чисел, або*
для представлення вказівника на C також добре. - Значення вводу може бути довільно великим (що б не працювала ваша система), як позитивне, так і негативне
- Введення може бути на STDIN або ARGV або вводити будь-яким іншим способом
- Створіть найкоротший код, який ви можете зробити вище