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

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

<시간/>

이 기사에서는 주어진 문제 진술을 해결하기 위한 솔루션과 접근 방식에 대해 알아볼 것입니다.

문제 설명

숫자 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의 거듭제곱인지 여부를 찾는 Python 프로그램

결론

이 기사에서 우리는 숫자가 2의 거듭제곱인지 아닌지를 찾는 접근 방식에 대해 배웠습니다.