Zitiere diese Frage auf SO (Spoiler alert!):
Diese Frage wurde in einem Oracle-Interview gestellt.
Wie würden Sie eine Zahl durch 3 teilen, ohne die Operatoren *, /, +, -,% zu verwenden?
Die Nummer kann signiert oder nicht signiert sein.
Die Aufgabe ist lösbar, aber sehen Sie, ob Sie den kürzesten Code schreiben können.
Regeln:
- Führe die gewünschte Ganzzahldivision durch (
/3
) - Verwenden Sie nicht die nicht-textbasierten Operatoren
*
,/
,+
,-
, oder%
(oder deren Äquivalente, wie__div__
oderadd()
). Dies gilt auch für das Inkrementieren und Dekrementieren von Operatoren wiei++
oderi--
. Die Verwendung von Operatoren für die Verkettung und Formatierung von Zeichenfolgen ist in Ordnung. Die Verwendung dieser Zeichen für verschiedene Operatoren, z. B. für unäre-
Operatoren für negative Zahlen oder*
zur Darstellung eines Zeigers in C, ist ebenfalls in Ordnung. - Der Eingabewert kann beliebig groß sein (was auch immer Ihr System verarbeiten kann), sowohl positiv als auch negativ
- Die Eingabe kann über STDIN oder ARGV erfolgen oder auf andere Weise erfolgen
- Erstellen Sie den kürzesten Code, den Sie für die oben genannten Aufgaben verwenden können