숫자가 2의 거듭 제곱인지 여부를 결정하는 영리한 방법 이 있습니다. 더 이상 흥미로운 문제는 아니므로 주어진 정수가 -2 의 정수 제곱인지 여부를 결정하십시오 . 예를 들면 다음과 같습니다.
-2 => yes: (-2)¹
-1 => no
0 => no
1 => yes: (-2)⁰
2 => no
3 => no
4 => yes: (-2)²
규칙
사용자가 쓸 수 프로그램이나 함수를 상기의 어떠한 사용도 표준 방법 의 입력을 수신하고 출력을 제공한다.
입력은 단일 정수이며, 정수가 -2의 정수 제곱이면 출력이 정확한 값이어야하고 그렇지 않으면 거짓 값이어야합니다. 다른 출력 (예 : 경고 메시지)은 허용되지 않습니다.
일반적인 정수 오버플로 규칙이 적용됩니다. 솔루션은 기본적으로 모든 정수가 바인딩되지 않은 가상의 (또는 아마도 실제) 버전의 언어에서 임의로 큰 정수를 사용할 수 있어야하지만 구현으로 인해 프로그램이 실제로 실패하는 경우 큰 정수를 지원하지 않으면 솔루션이 무효화되지 않습니다.
승리 조건
이것은 코드 골프 경연 대회입니다. 선택한 인코딩에서 가장 적은 바이트를 가진 답변이 승자입니다.
-0.5
이므로 유효해야합니다 .
i
자연스럽지 않다
i
과 같은 정수는 없습니다(-2)^i = 2