Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
436 | 关清声 | 二进制转R进制 | C++ | Accepted | 0 MS | 268 KB | 692 | 2022-08-19 12:58:05 |
#include<iostream> #include<cstring> #include<algorithm> #include<cmath> using namespace std; int main() { string a; long long ten=0; int r; getline(cin,a); cin>>r; int l=0; for(int i=a.size()-1;i>=0;i--) { if(a[i]=='1') { ten+=pow(2,l); } l++; } char b[1001]={0},i=0; while(ten!=0) { if(r>10) { if(ten%r>=10) { b[i]=ten%r+55; } else { b[i]=ten%r+48; } } else if(r==10) { cout<<ten<<endl; return 0; } else { b[i]=ten%r+48; } ten/=r; i++; } for(int i=strlen(b)-1;i>=0;i--) { cout<<char(b[i]); } if(b[strlen(b)-1]==0) { cout<<0; } return 0; }