이 기사에서는 주어진 문제 진술을 해결하기 위한 솔루션과 접근 방식에 대해 알아볼 것입니다.
문제 설명
숫자 n이 주어지면 주어진 숫자가 2의 거듭제곱인지 확인해야 합니다.
접근
-
계속해서 입력된 숫자를 2로 나눕니다. 즉, =n/2를 반복적으로 나눕니다.
-
각 반복에서 n%2가 0이 아니고 n이 1이 아니면 n이 2의 거듭제곱이 아님을 확인할 것입니다.
-
n이 1이 되면 2의 거듭제곱입니다.
아래의 구현을 봅시다 -
예
def isPowerOfTwo(n): if (n == 0): return False while (n != 1): if (n % 2 != 0): return False n = n // 2 return True # main if(isPowerOfTwo(40)): print('Yes') else: print('No')
출력
No
모든 변수와 함수는 아래와 같이 전역 범위에서 선언됩니다 -
결론
이 기사에서 우리는 숫자가 2의 거듭제곱인지 아닌지를 찾는 접근 방식에 대해 배웠습니다.