poj 3709: 2進制轉化爲3進制

#include<iostream>
#include<cstring>
using namespace std;
int main()
{
	int m;
	cin>>m;
	string bstring,tstring;
	while(m--)
	{
		cin>>bstring;
		long tmp = 1;
		long num = 0;
		for(int i=bstring.length()-1;i>=0;i--)
		{
			num += (bstring[i] - '0') * tmp;
			tmp *= 2;
		}	
		//cout<<num<<endl;
		tstring.clear();
		while(num>0)
		{
			tstring += (char)(num % 3 + '0');
			num /= 3;
		}
		//cout<<tstring.length()<<endl;
		for(int i=tstring.length()-1;i>=0;i--)
			cout<<tstring[i];
		cout<<endl;
	}
	return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章