Искусство программирования - 11

(1/2) > >>

Alder:
Этот вопрос задавался на собеседованиях в Oracle. Сразу скажу - решения легко гуглятся, поэтому давайте будем честными и подумаем сами.

Итак:
Как разделить число на 3 без использования операторов *, /, +, -, %?

Достоверно правильного (с точки зрения Oracle) решения нет, поэтому эта викторина больше на красоту кода :)

LazarusLong:
простейший вариант, который приходит в голову путем решения нехитрого уравнения

int x >> 2(log23)

он бы работал, если бы операции сдвига работали с аргументами с плавающей точкой))) Хотя я не пробовал) может и работают)

Olorin:
Alder, деление целочисленное или остаток тоже может быть?

Alder:
Цитата: Olorin от Август 09, 2012, 12:24:08

Alder, деление целочисленное или остаток тоже может быть?

Обычное деление :) Не целочисленное.

LazarusLong:
Блин, помню был алгоритм на основе сдвигов) Я его даже когда-то знал) руки чешутся загуглить, но пока не буду))

Навигация

[0] Главная страница сообщений

[#] Следующая страница