记录编号 |
434330 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[NOIP 2000]进制转换 |
最终得分 |
100 |
用户昵称 |
落痕 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.018 s |
提交时间 |
2017-08-07 18:34:48 |
内存使用 |
4.13 MiB |
显示代码纯文本
- #include<iostream>
- #include<cstring>
- #include<cstdio>
- using namespace std;
- int n,r,aa,bb,cc;
- int q[1000000],ql,nn;
- char bs(int x)
- {
- if(x==10) return 'A';
- if(x==11) return 'B';
- if(x==12) return 'C';
- if(x==13) return 'D';
- if(x==14) return 'E';
- if(x==15) return 'F';
- if(x==16) return 'G';
- if(x==17) return 'H';
- if(x==18) return 'I';
- if(x==19) return 'J';
- if(x==20) return 'K';
- }
- void work()
- {
- memset(q,0,sizeof(q));
- ql=0;
- while(n!=0)
- {
- aa=n%r;
- bb=n/r;
- if(aa<0)
- {
- aa=aa-r;
- bb++;
- }
- n=bb;
- ql++;
- q[ql]=aa;
- }
- cout<<nn<<"=";
- for(int i=ql;i>=1;i--)
- {
- if(q[i]<10) cout<<q[i];
- else cout<<bs(q[i]);
- }
-
- cout<<"(base"<<r<<")";
- }
- int main()
- {
- freopen("fjz.in","r",stdin);
- freopen("fjz.out","w",stdout);
- while(cin>>n>>r)
- {
- nn=n;
- if(n==0)
- {
- cout<<"0=0(base"<<r<<")";
- cout<<endl;
- continue;
- }
- work();
-
-
- }
-
- return 0;
- }