SO'dan bu soruyu alıntılamak (Spoiler uyarısı!):
Bu soru bir Oracle röportajında soruldu.
*, /, +, -,%, operatörleri kullanmadan bir sayıyı 3'e nasıl bölerdiniz?
Numara imzalanmış veya imzasız olabilir.
Görev çözülebilir, ancak en kısa kodu yazıp yazamayacağınıza bakın.
Kurallar:
- Gerekli tamsayı bölümünü (
/3
) gerçekleştirin - Olmayan metin tabanlı operatörler kullanmayın
*
,/
,+
,-
, veya%
(veya eşdeğerleri gibi__div__
yaadd()
). Bu aynı zamandai++
veya gibi operatörleri artırmak ve azaltmak için de geçerlidiri--
. String birleştirme ve biçimlendirme için işleçlerin kullanımı tamam. Bu karakterleri,-
negatif sayılar için unary operatörü gibi farklı operatörler için veya*
C'de bir göstericiyi temsil etmek için kullanmak da iyidir. - Girdi değeri keyfi olarak büyük olabilir (sisteminiz ne işleyebilirse), hem pozitif hem de negatif
- Giriş STDIN veya ARGV'de olabilir veya herhangi bir şekilde girilebilir
- Yukarıdakileri yapabildiğiniz en kısa kodu oluşturun.