๐ฆฅ ์ฝํ
/BAEKJOON
[BAEKJOON C++] 3460_์ด์ง์
์ง์ง์ํ์นด
2023. 8. 3. 23:46
728x90
๋ฐ์ํ
์์ ์ ์ n์ด ์ฃผ์ด์ก์ ๋,
์ด๋ฅผ ์ด์ง์๋ก ๋ํ๋์ ๋ 1์ ์์น๋ฅผ ๋ชจ๋ ์ฐพ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ตํ์ ๋นํธ(least significant bit, lsb)์ ์์น๋ 0์ด๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ T๊ฐ ์ฃผ์ด์ง๋ค.
๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , n์ด ์ฃผ์ด์ง๋ค.
(1 ≤ T ≤ 10, 1 ≤ n ≤ 106)
์ถ๋ ฅ
๊ฐ ํ ์คํธ ์ผ์ด์ค์ ๋ํด์,
1์ ์์น๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ค ํ๋์ ์ถ๋ ฅํ๋ค.
์์น๊ฐ ๋ฎ์ ๊ฒ๋ถํฐ ์ถ๋ ฅํ๋ค.
// [3460] ์ด์ง์
/*
์์ ์ ์ n์ด ์ฃผ์ด์ก์ ๋,
์ด๋ฅผ ์ด์ง์๋ก ๋ํ๋์ ๋ 1์ ์์น๋ฅผ ๋ชจ๋ ์ฐพ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ตํ์ ๋นํธ(least significant bit, lsb)์ ์์น๋ 0์ด๋ค.
์
๋ ฅ
์ฒซ์งธ ์ค์ ํ
์คํธ ์ผ์ด์ค์ ๊ฐ์ T๊ฐ ์ฃผ์ด์ง๋ค.
๊ฐ ํ
์คํธ ์ผ์ด์ค๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , n์ด ์ฃผ์ด์ง๋ค.
(1 ≤ T ≤ 10, 1 ≤ n ≤ 106)
์ถ๋ ฅ
๊ฐ ํ
์คํธ ์ผ์ด์ค์ ๋ํด์,
1์ ์์น๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ค ํ๋์ ์ถ๋ ฅํ๋ค.
์์น๊ฐ ๋ฎ์ ๊ฒ๋ถํฐ ์ถ๋ ฅํ๋ค.
*/
#define _CRT_SECURE_NO_WARNINGS
// ํ์ค ์คํธ๋ฆผ์์ ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ๋ฅผ ์ ์ดํ๋ ๊ฐ์ฒด๋ฅผ ์ ์ธ
#include <iostream>
#include <algorithm> // find
#include <string>
#include <cmath> // abs
#include <vector>
#include <queue>
using namespace std;
int main() {
int T, n;
cin >> T;
while (T--) {
cin >> n;
int digit = 0;
while (n > 0) {
if (n % 2 == 1) {
cout << digit << " ";
}
// ์ด์ง์ ๋ง๋๋์ค
n /= 2;
digit++;
}
}
return 0;
}
728x90
๋ฐ์ํ