Cytując to pytanie w SO (alert spoilera!):
To pytanie zostało zadane w wywiadzie dla Oracle.
Jak podzieliłbyś liczbę przez 3 bez użycia operatorów *, /, +, -,%?
Numer może być podpisany lub niepodpisany.
Zadanie można rozwiązać, ale sprawdź, czy możesz napisać najkrótszy kod.
Zasady:
- Wykonaj wymagany podział na liczby całkowite (
/3) - Nie używać operatorów nietekstowa z siedzibą w
*,/,+,-, lub%(lub ich odpowiedników, takich jak__div__lubadd()). Dotyczy to również operatorów zwiększających i zmniejszających, takich jaki++lubi--. Używanie operatorów do łączenia i formatowania ciągów jest OK. Używanie tych znaków dla różnych operatorów, takich jak-operator jednoargumentowy dla liczb ujemnych lub*do reprezentowania wskaźnika w C, jest również OK. - Wartość wejściowa może być dowolnie duża (cokolwiek twój system może obsłużyć), zarówno dodatnia, jak i ujemna
- Dane wejściowe mogą być na STDIN lub ARGV lub wprowadzone w inny sposób
- Utwórz najkrótszy kod, który możesz wykonać powyżej