나는 골프를 좋아 dc
하지만 dc
비트 단위 연산이 없기 때문에 때때로 좌절 합니다.
도전
하여 C의 비트 연산의 상당 구현 네라는 이름의 기능을 제공 &
, |
, ~
과 ^
(비트 AND, OR, NOT 및 XOR을). 각 함수는 ~
최소한 32 비트 부호없는 정수인 두 개의 피연산자를 사용합니다 ( 하나만 사용). 각 함수는 피연산자와 같은 비트 너비의 부호없는 정수를 반환합니다.
제한
에서 지원하는 작업 만 사용할 수 있습니다 dc
. 이것들은:
+
-
*
/
산술 덧셈, 뺄셈, 곱셈 및 나눗셈~
모듈로 (또는 언어가 지원하는 경우 divmod)^
지수화|
모듈 식 지수v
제곱근>
>=
==
!=
<=
<
표준 평등 / 불평등 연산자>>
<<
비트 시프트 연산자.dc
이것들은 없지만 2의 제곱으로 나누기 / 곱하기 측면에서 사소하게 구현되었으므로 이것을 허용 할 것입니다.
dc
(재귀) 매크로와 (평등) 평등 작업을 사용하여 서투르게 제어 구조를 구축합니다. 언어에 내장 된 제어 구조를 사용할 수 있습니다.
당신은 또한 논리 연산자를 사용할 수 있습니다 &&
||
!
이러한에서 직접 사용할 수없는 경우에도 불구하고 dc
.
당신은 비트 단위 연산자를 사용해서는 안 &
, |
, ~
및 ^
또는 사소을 구현하는 기능.
또한 기본 문자열 변환 연산자 또는 함수를 사용해서는 안됩니다.
답변을 확인하는 데 도움이되도록 테스트 프로그램 또는 온라인 컴파일러 스 니펫 (골프 점수에 포함되지 않음)을 제공하는 것도 고려하십시오.