Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

아니오가 2의 거듭제곱인지 여부를 찾는 Python 프로그램


이 기사에서는 아래 주어진 문제 설명에 대한 솔루션에 대해 알아볼 것입니다.

문제 설명 − 숫자가 주어졌을 때 숫자가 2의 거듭제곱인지 확인해야 합니다.

아래에서 설명하는 두 가지 접근 방식을 사용하여 이 문제를 해결할 수 있습니다.

접근법 1:2진법에 주어진 숫자의 로그를 취하여 거듭제곱을 구합니다.

예시

# power of 2
def find(n):
   if (n == 0):
      return False
   while (n != 1):
      if (n % 2 != 0):
         return False
      n = n // 2
   return True
# Driver code
if(find(98)):
   print('Yes')
else:
   print('No')

출력

No

접근법 2:논리적 문장 사용

예시

# power of 2
def find(x):
   # if x is 0 or not
   return (x and (not(x & (x - 1))) )
# Driver code
if(find(98)):
   print('Yes')
else:
   print('No')

출력

No

결론

이 기사에서는 주어진 숫자가 2의 거듭제곱인지 확인하는 방법을 배웠습니다.