티스토리 뷰
문제: 여러분은 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 |
댓글