0
已解决
汪宇航
新手启示者
新手启示者
WA90...
#include <bits/stdc++.h>
using namespace std;
int main(){
string a;
char b[1010101];
int cnt=0;
cin>>a;
int y=0,x=0;
int xx=a.size()%4;
if(xx!=0){
for(int i=0;i<4-x;i++){
a="0"+a;
}
}
for(int i=a.size()-1;i>=0;i-=4){
if((a[i]-'0'+(a[i-1]-'0')*2+(a[i-2]-'0')*4+(a[i-3]-'0')*8)+48>='0'&&(a[i]-'0'+(a[i-1]-'0')*2+(a[i-2]-'0')*4+(a[i-3]-'0')*8)+48<='9')b[++cnt]=(a[i]-'0'+(a[i-1]-'0')*2+(a[i-2]-'0')*4+(a[i-3]-'0')*8)+48;
else b[++cnt]='A'+(a[i]-'0'+(a[i-1]-'0')*2+(a[i-2]-'0')*4+(a[i-3]-'0')*8)%10;
}
for(int i=cnt;i>=1;i--)cout<<b[i];
return 0;
}
...
谁能给我第五个测试点
给测试点的话30豆!
0
已采纳
刘乐宸
新手天翼
新手天翼
写个函数岂不更好?
string f(string bin) {
if(bin.size()<=4) {
int ans=0,j=1;
for(int i=bin.size()-1; i>=0; i--) {
ans += (bin[i]-'0')*j;
j*=2;
}
return jz[ans];
}
string tmp = bin. substr(bin.size()-4, 4);
string tmp2 = bin. erase(bin. size()-4, 4);
return f(tmp2)+f(tmp);
}
int main() {
0