백준 3460 c++

magicdrill·2024년 7월 24일

백준 문제풀이

목록 보기
401/673

백준 3460 c++

간단한 십진법을 이진법으로 변환하는 문제이다. 그러나 거꾸로 변환할 필요가 없어 더 간단하다.

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

void input_case(vector<int>&test)
{
	int i, T, temp;

	cin >> T;
	for (i = 0; i < T; i++)
	{
		cin >> temp;
		test.push_back(temp);
	}

	return;
}

void find_answer(vector<int>& test)
{
	int i, current, j;

	for (i = 0; i < test.size(); i++)
	{
		j = 0;
		current = test[i];
		while (current != 0)
		{
			if (current % 2 == 1)
			{
				cout << j << " ";
			}
			current /= 2;
			j++;
		}
		cout << "\n";
	}

	return;
}

int main(void)
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	
	vector<int> test;

	input_case(test);
	find_answer(test);

	return 0;
}

0개의 댓글