Несколько дней назад у меня было интервью с Qualcomm. Я был склонен к одному вопросу, вопрос, который ты выглядел очень простым, но ни я, ни интервьюер не были удовлетворены моими ответами, если кто-то может предложить какое-либо хорошее решение этой проблемы.
Вопрос такой:
Умножьте 2 числа без использования каких-либо циклов и сложений и, конечно же, без умножения и деления.
На что я ответил: рекурсия
Он сказал что-нибудь еще на очень низком уровне.
Моя настоящая мысль, которая пришла мне в голову, заключалась в сдвиге битов, но сдвиг битов приведет только к умножению числа на степень двойки, а для других чисел мы, наконец, должны произвести сложение.
Например: 10 * 7 может быть выполнено как: (двоичное из 7 ~~ 111) 10 << 2 + 10 << 1 + 10 40 + 20 + 10 = 70
Но опять же сложение было запрещено.
Есть мысли по этому поводу, ребята.