sicily 1298. 数制转换
2011-07-05 02:40
190 查看
#include<iostream> using namespace std; int res[1000]; int main() { int n; while(cin>>n) { if(n==0) { cout<<"0\n"; continue; } int m,r=0; while(n!=0) { if(n>0) { if(n%3!=2) { res[r++]=n%3; n/=3; } else //比如n=5, 应该将n看作是 3*2+(-1) { res[r++]=-1; n=n/3+1; } } else { m=-n; if(m%3==0) { res[r++]=0; n/=3; } else if(m%3==1) //比如 n=-4,看作是 -4=3*-1+(-1) { res[r++]=-1; n/=3; } else //比如 n=-5,看作是 -5=3*-2+(1) { res[r++]=1; n=n/3-1; } } } for(int i=r-1;i>=0;--i) if(res[i]==-1) cout<<"-"; else cout<<res[i]; cout<<endl; } return 0; }
相关文章推荐
- sicily 1298 数制转换
- Sicily 1298. 数制转换
- sicily--1298. 数制转换
- sicily 1298.数制转换
- sicily 1298. 数制转换
- sicily1298 数制转换
- [sicily]1298. 数制转换
- 1298 数制转换
- 1298. 数制转换(按规则转换成指定进制)
- {输入结束方法}1298. 数制转换
- 1298. 数制转换
- 1298. 数制转换
- sicily 解题报告: 1280 Permutation
- POJ1298
- Sicily 1798. Alice and Bob
- sicily 1888循环队列的最大子段和
- Sicily 1001 Alphacode
- POJ 1135/ZOJ 1298 Domino Effect (最短路径dijkstra)
- Sicily 1802 Atomic Nucleus Investigation(线段树)
- Sicily 1934 移动小球