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