BOJ - 11966 2의 제곱인가?

2024. 9. 9. 17:36·코딩테스트
반응형

 

해결방법

do~while문을 이용하여 N을 2로 나눈 나머지가 0이 아니라면 그만하고, 아니라면 계속 나누기를 반복하여 N이 0인지, 아니면 0이 아닌지를 구한다. N이 0이라면 2의 제곱수이고, 아니라면 제곱수가 아니다.

 

정답 코드

#include <iostream>
using namespace std;

int main()
{
	int N, dum;

	cin >> N;

	do
	{
		dum = N % 2;
		N = N / 2;
	} while (dum == 0);

	if (N == 0)
		cout << "1";
	else
		cout << "0";
}
반응형

'코딩테스트' 카테고리의 다른 글

BOJ - 14935 FA  (0) 2024.09.10
BOJ - 23627 driip  (0) 2024.09.10
BOJ - 10813 공 바꾸기  (1) 2024.09.09
BOJ - 10811 바구니 뒤집기  (0) 2024.09.09
BOJ - 5622 다이얼  (0) 2024.09.03
'코딩테스트' 카테고리의 다른 글
  • BOJ - 14935 FA
  • BOJ - 23627 driip
  • BOJ - 10813 공 바꾸기
  • BOJ - 10811 바구니 뒤집기
skajalf
skajalf
skajalf 님의 블로그 입니다.
  • skajalf
    skajalf 님의 블로그
    skajalf
  • 전체
    오늘
    어제
    • 분류 전체보기 (153) N
      • UNITY (6)
        • FanGame (6)
        • Portfolio (0)
      • UnReal (0)
      • DirectX (0)
      • 코딩테스트 (113) N
      • Programming (34)
        • C C# C++ (9)
        • 디자인 패턴 (0)
        • 자료구조 & 알고리즘 (3)
        • 기타 (22)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    다들 아는거 굳이 적을 이유가 있을까..?
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
skajalf
BOJ - 11966 2의 제곱인가?
상단으로

티스토리툴바