프로그래밍에서 정수가 2의 N제곱꼴인지 판별하기
2의 N제곱꼴은 소인수로 2만을 가진다는 특징이 있습니다(그것이 2의 N제곱이니까...) 그러므로 다음과 같이 판별이 가능합니다. (기저사례) 일단, 0 이하의 정수는 2의 제곱꼴이 아니므로 제외합니다. 2로 나누어 떨어지는지 검사하고 만약 나누어 떨어진다면 2로 나누어 줍니다. 더 이상 나누어 떨어지지 않을 때까지 위 과정을 반복합니다. 최종 결과가 1이라면 2의 N제곱, 1이 아니라면 2의 N제곱이 아닙니다. 코드로는 다음과 같이 작성이 가능합니다. fun isPowerOf2(n: Int): Boolean { if (n 0 10 & 01 --> 0 100 & 011 --> 0 1000 & 0111 --> 0 따라서 2의 N제곱꼴인지의 판단은 다음과 같이 할 수도 있습니다. fun isPowerOf2(..