티스토리 뷰

문제: 여러분은 Q개의 쿼리를 수행해야 합니다. 수행해야 하는 쿼리는 다음과 같습니다.

어떤 수 a를 2의 거듭제곱 꼴로 나타낼 수 있는가?

 

풀이:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<stdio.h>
 
int main(){
    int q, a;
    scanf("%d"&q);
    for (int i = 0; i < q; i++){
        scanf("%d"&a);
        if ((a&(-a)) == a){
            printf("1\n");
        }
        else{
            printf("0\n");
        }
    }
}
cs

타낼 수 있는가이문제는 아주 간단하다 이미 힌트에서((a&(-a)) == a)여야 2의 거듭제곱임을 말해주기 때문에 조건문에추가만 해주면 된다. 

(a&(-a)) == a 에서 연산자 우선순위는 &보다 ==연산자가 더 높다.

'백준' 카테고리의 다른 글

BOJ]2864번_5와 6의 차이  (1) 2019.05.27
BOJ]7572번_간지  (0) 2019.05.27
BOJ]14491번_9진수  (0) 2019.05.27
BOJ]5586번_JOI와 IOI  (0) 2019.05.27
BOJ]10039_평균 점수  (0) 2019.05.06
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/10   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함