您的位置:首页 > 其它

sicily1298 数制转换

2012-03-26 19:40 190 查看
#include<iostream>

#include<cstring>

using namespace std;

int a[1000];

int main()

{

int num;

while(cin>>num)

{

if(num==0||num==-0)

cout<<0<<endl;

else

{

memset(a,0,sizeof(a));

int n=0;

while(num!=0)

{

int temp=num%3;

int temp1=num/3;

if(temp==2) //当余数是2时,2-3=-1,余数变为-1,商加1

{

temp1++;

a[n++]=-1;

}

else

if(temp==-2) //当余数是-2时,-2+3=1,余数变成1,商减1

{

temp1--;

a[n++]=1;

}

else

a[n++]=temp;

num=temp1;

}

for(int i=n-1;i>=0;i--)

{

if(a[i]==-1)

cout<<"-";

else

cout<<a[i];

}

cout<<endl;

}

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: