#include<iostream>
#include<string>
#include<cstdio>
using namespace std;
void change(long n)
{
string str;
int tmp=0;
int num;
while( n/3!=0 )
{
num=n%3+tmp;
if( num==2 )
{
tmp=1;
str='-'+str;
}
if( num==3 )
{
tmp=1;
str='0'+str;
}
if( num==0||num==1 )
{
tmp=0;
str=(char)(num+'0')+str;
}
n/=3;
}
num=n%3+tmp;
if( num==2 )
{
str="1-"+str;
}
if( num==3 )
{
tmp=1;
str="10"+str;
}
if( num==0||num==1 )
{
tmp=0;
str=(char)(num+'0')+str;
}
cout<<str<<endl;
}
void nchange(long n)
{
n=-n;
string str;
int tmp=0;
int num;
while( n/3!=0 )
{
num=-(n%3)+tmp;
if( num==-2 )
{
tmp=-1;
str='1'+str;
}
if( num==-3 )
{
tmp=-1;
str='0'+str;
}
if( num==0 )
{
tmp=0;
str='0'+str;
}
if( num==-1 )
{
tmp=0;
str='-'+str;
}
n/=3;
}
num=-(n%3)+tmp;
if( num==-2 )
{
tmp=-1;
str="-1"+str;
}
if( num==-3 )
{
tmp=-1;
str="-0"+str;
}
if( num==0 )
{
tmp=0;
str='0'+str;
}
if( num==-1 )
{
tmp=0;
str='-'+str;
}
cout<<str<<endl;
}
int main()
{
long n;
while( cin>>n )
{
if( n>=0 )
{
change(n);
}
if( n<0 )
{
nchange(n);
}
}
return 0;
}
1298. 數制轉換
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.