SO (Spoiler alert!) 에서이 질문을 인용 하면 :
이 질문은 오라클 인터뷰에서 제기되었습니다.
*, /, +,-, %, 연산자를 사용하지 않고 어떻게 숫자를 3으로 나누겠습니까?
숫자는 부호가 있거나 부호가 없을 수 있습니다.
작업은 해결할 수 있지만 가장 짧은 코드를 작성할 수 있는지 확인하십시오.
규칙 :
- 필요한 정수 나누기 수행 (
/3
) - 비 텍스트 기반 연산자를 사용하지 마십시오
*
,/
,+
,-
, 또는%
(또는 그 등가물과 같은__div__
또는add()
). 이는i++
또는 과 같은 증분 및 감소 연산자에도 적용됩니다i--
. 문자열 연결 및 형식 지정에 연산자를 사용할 수 있습니다.-
음수에 대한 단항 연산자 와 같은 다른 연산자에 사용 하거나*
C에서 포인터를 나타내는 것도 이러한 문자를 사용하는 것이 좋습니다. - 입력 값은 양수와 음수 모두 임의로 커질 수 있습니다 (시스템이 처리 할 수있는 모든 것)
- 입력은 STDIN 또는 ARGV에 있거나 다른 방법으로 입력 될 수 있습니다
- 위의 작업을 수행 할 수있는 가장 짧은 코드를 작성하십시오.