1298. 数制转换
2011-11-08 18:25
197 查看
#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; }
相关文章推荐
- sicily 1298.数制转换
- sicily 1298. 数制转换
- sicily 1298. 数制转换
- sicily--1298. 数制转换
- Sicily 1298. 数制转换
- 1298. 数制转换
- 1298. 数制转换(按规则转换成指定进制)
- {输入结束方法}1298. 数制转换
- sicily 1298 数制转换
- 1298 数制转换
- sicily1298 数制转换
- [sicily]1298. 数制转换
- 栈应用--数制转换
- pku 1298 The Hardest Problem Ever
- 数制转换
- 实验项目5――数制转换
- poj 1298 The Hardest Problem Ever
- 数制转换,将10进制转换为8进制 C语言 栈的应用
- C++ 数制转换
- 栈应用之一数制转换