문제) 백준 - 수학(Mathematics) - 노솔브 방지문제야!!
완전 탐색을 이용한 풀이)
#include <iostream>
#include <algorithm>
using namespace std;
int q;
bool isTwo(int n) {
for (int i = 0; i < 31; ++i) {
if (pow(2, i) == n) return true;
}
return false;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
cin >> q;
for (int i = 0; i < q; ++i) {
int a;
cin >> a;
if (isTwo(a)) cout << 1<< "\n";
else cout << 0 << "\n";
}
return 0;
}
비트 연산을 이용한 풀이)
#include <iostream>
#include <algorithm>
using namespace std;
int q;
int main() {
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
cin >> q;
for (int i = 0; i < q; ++i) {
int a;
cin >> a;
if ((a & (-a)) == a) cout << 1<< "\n";
else cout << 0 << "\n";
}
return 0;
}
반응형
'PS(Problem Solving) > 백준_BOJ' 카테고리의 다른 글
[백준] 1005번 - ACM Craft (파이썬) 문제 및 풀이 (0) | 2021.03.30 |
---|---|
[백준] 9251번 - LCS (파이썬) (0) | 2021.03.29 |
[백준] 2798번 - 블랙잭 (C++/파이썬) 문제 및 풀이 (0) | 2021.03.18 |
[백준] 2231번 - 분해합 (C++/파이썬) 문제 및 풀이 (0) | 2021.03.18 |
[백준] 1707번 - 이분 그래프 (파이썬) 문제 및 풀이 (0) | 2021.03.12 |
댓글