Citando questa domanda su SO (Spoiler alert!):
Questa domanda è stata posta in un'intervista a Oracle.
Come divideresti un numero per 3 senza usare *, /, +, -,%, operatori?
Il numero può essere firmato o non firmato.
L'attività è risolvibile, ma controlla se riesci a scrivere il codice più breve.
Regole:
- Esegue la divisione intera richiesta (
/3
) - Non utilizzare gli operatori non-text-based
*
,/
,+
,-
, o%
(o loro equivalenti, come ad esempio__div__
oadd()
). Questo vale anche per gli operatori di incremento e decremento, comei++
oi--
. L'uso degli operatori per la concatenazione e la formattazione delle stringhe è OK. L'uso di questi caratteri per operatori diversi, come un-
operatore unario per numeri negativi, o*
per rappresentare un puntatore in C è anch'esso OK. - Il valore di input può essere arbitrariamente grande (qualunque cosa il tuo sistema sia in grado di gestire), sia positivo che negativo
- L'ingresso può essere su STDIN o ARGV o inserito in altro modo
- Crea il codice più corto possibile per fare quanto sopra