본문 바로가기
알고리즘 문제풀이

[Backjoon] 11966번 문제 - 2의 제곱인가?

by 마스터누누 2017. 7. 3.
728x90
반응형

자연수 N이 주어졌을 때, 2의 제곱수면 1을 아니면 0을 출력하는 프로그램을 작성하시오.



풀이


2로 계속 나눠주면서 나머지가 1이 되면 바로 0을 출력하고,

그렇지 않고 나눈값이 1이 될때까지 진행되었다면 2의 제곱수 이므로 1을 출력한다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.util.Scanner;
 
/**
 * Created by homr on 2017. 7. 3..
 */
public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
 
        while(num!=1){
            if(num%2==1){
                System.out.println(0);
                return;
            }
            num /= 2;
        }
 
        System.out.println(1);
    }
}
 
cs


반응형

댓글