Искусство программирования - 11
Alder:
Этот вопрос задавался на собеседованиях в Oracle. Сразу скажу - решения легко гуглятся, поэтому давайте будем честными и подумаем сами.
Итак:
Как разделить число на 3 без использования операторов *, /, +, -, %?
Достоверно правильного (с точки зрения Oracle) решения нет, поэтому эта викторина больше на красоту кода :)
LazarusLong:
простейший вариант, который приходит в голову путем решения нехитрого уравнения
int x >> 2(log23)
он бы работал, если бы операции сдвига работали с аргументами с плавающей точкой))) Хотя я не пробовал) может и работают)
Olorin:
Alder, деление целочисленное или остаток тоже может быть?
Alder:
Цитата: Olorin от Август 09, 2012, 12:24:08
Alder, деление целочисленное или остаток тоже может быть?
Обычное деление :) Не целочисленное.
LazarusLong:
Блин, помню был алгоритм на основе сдвигов) Я его даже когда-то знал) руки чешутся загуглить, но пока не буду))
Навигация