Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
324751 | 董峻昊 | 【C6-3】十六进制转换 | C++ | 解答错误 | 0 | 3 MS | 252 KB | 541 | 2025-05-31 14:31:56 |
#include <bits/stdc++.h> using namespace std; int main(){ string ss,s; cin>>s; long long n,m=0; for(int i=0;i<s.size();i++){ if(s[i]>='A'&&s[i]<='F'){ n=s[i]-'A'+10; }else{ n=s[i]-'0'; } m=m*16+n;//十进制:m } char c; if(m==0) ss="0"; while(m>0){ c=m%2+'0'; ss=c+ss; m=m/2; } //二进制:ss while((ss.size()%3!=0)){ ss='0'+ss; } int l=ss.size(); for(int i=0;i<l-2;i=i+3){ n=(ss[i]-'0')*4+(ss[i+1]-'0')*2+(ss[i+2]-'0')*1; cout<<n; } return 0; }