аж интересно стало, что вызвало такое обсуждение. задача на собеседовании. которая сформулирована не очень удачно, поэтому и вызвала срач
"... а потом попросил сделать тоже самое, но без операторов сложения/деления/умножения/остатка от деления и без вызовов внешних функций"
здесь телега находится впереди лошади. если интервьюер хотел увидеть, понимает ли человек, что написанный код можно ещё оптимизировать — можно сформулировать задачу "а теперь придумай, как сделать, чтобы это работало ещё в три раза быстрее". а ставить задачу "а теперь сделай без операторов умножения" — не дай бог ещё и на проекте разработчикам задачи так же формулируются. валить надо из такого места