코딩테스트/백준_브론즈 [C++][백준 3460] 이진수 - [문제] https://www.acmicpc.net/problem/3460 3460번: 이진수 양의 정수 n이 주어졌을 때, 이를 이진수로 나타냈을 때 1의 위치를 모두 찾는 프로그램을 작성하시오. 최하위 비트(least significant bit, lsb)의 위치는 0이다. www.acmicpc.net [문제 풀이] 십진수를 이진수로 만들기 위하여 해당 수를 계속해서 2로 나눈뒤 해당 수에 대해서 %2 를 했을때 1이 남는 위치를 계속해서 찾아주자. [코드] 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 32 #include<iostream> using namespace std; void binary_search(int n){ int count = 0; while(n>0){ int temp = n % 2; n /= 2; if(temp == 1){ cout<<count<<" "; } count++; } cout<<endl; return; } int main(){ int testcase; cin>>testcase; while(testcase--){ int n; cin>>n; binary_search(n); } return 0; } cs 공유하기 게시글 관리 Yoon-1212 '코딩테스트 > 백준_브론즈' 카테고리의 다른 글 [C++][백준 9086] 문자열 (0) 2023.03.24 [C++] 더하기 사이클 (0) 2022.11.23 [C++][백준 13458] 시험 감독 (0) 2022.09.14 [C++][백준 5522] 카드 게임 (0) 2022.09.09 [C++][백준 10757] 큰 수 A+B (0) 2022.09.07 Contents 당신이 좋아할만한 콘텐츠 [C++][백준 9086] 문자열 2023.03.24 [C++] 더하기 사이클 2022.11.23 [C++][백준 13458] 시험 감독 2022.09.14 [C++][백준 5522] 카드 게임 2022.09.09 댓글 0 + 이전 댓글 더보기