18 条题解
-
1
Python
Python
中int()
函数能支持将输入看成b进制
后在转换成10进制
,内置函数hex()
能将10进制
数转换为16进制
,例如:>>> int("10001001", 2) 137 >>> hex(137) '0x89'
所以我们直接取
hex
结果字符串两位后切片再转成大写即为本题答案。bin_number: str = input() dec_number: int = int(bin_number, base=2) hex_number: str = hex(dec_number) answer: str = hex_number[2:].upper() print(answer)
print(hex(int(input(), 2))[2:].upper())
-
0
yyyyy
#include<bits/stdc++.h> using namespace std; int main() { int a[10000],i=0,sum=0,m=0,k,j,n[101],d=16; string p,x; cin>>p; k=p.length(); for(int j=k-1;j>=0;j--) { sum+=(p[j]-'0')*pow(2,m); m++; }//2转10 // cout<<sum; do{ n[++i]=sum%d; sum/=d; if(n[i]>9)x[i-1]=(char)(n[i]+55); else x[i-1]=(char)(n[i]+'0'); }while(sum!=0);//10转16,格式参考10转2 每次模16后除16 最后记得转换字符 for(j=i;j>=1;j--)cout<<x[j-1];//倒序输出 }
-
0
using namespace std; const int R=99999; int a[R],p[R],x[R],y[R]; int main(){ char n; int sum=0,c=0,h,f,l,v=0; while(cin>>n){ h=n; f=h-'0'; sum++; a[sum]=f; } for(int i=sum;i>=1;i--){ x[sum-i]=a[i]; } int b=0; for(int k=0;k<=sum-1;k++){ b+=x[k]*pow(2,c); c++; } while(b>0){ v++; p[v]=b%16; b=b/16; } for(int e=v;e>=1;e--){ y[v-e]=p[e]; } for(int u=0;u<=v;++u){ if(y[u]<10&&y[u]!=0){ cout<<y[u]; } else if(y[u]>=10){ int o=y[u]+55; char s=o; cout<<s; } } return 0; }
-
0
using namespace std; int main(){ string a,b="0123456789ABCDEF",c;int len,m,s=0,out=0,i=0; cin>>a; len=a.length(); for(m=0;m<len;m++){ if(a[m]=='1'){ s+=pow(2,len-m-1); } } //先转十进制 while(s>0){ if(s%16==10){ c[i]='A'; } else if(s%16==11){ c[i]='B'; } else if(s%16==12){ c[i]='C'; } else if(s%16==13){ c[i]='D'; } else if(s%16==14){ c[i]='E'; } else if(s%16==15){ c[i]='F'; } else{ c[i]=s%16+'0'; } s/=16; i++; } for(i=i-1;i>=0;i--){ cout<<c[i]; } return 0; }
-
-1
#include<bits/stdc++.h> using namespace std; int main() { string s1,s2; string pos="0123456789ABCDEF"; cin>>s1; int k=0,t=0; for(int i=s1.length()-1;i>=0;i--) { t+=(s1[i]-'0')*pow(2,k); if(k==3) { s2=pos[t]+s2; t=0; k=-1; } k++; } if(t>0) { s2=pos[t]+s2; } cout<<s2<<endl; return 0; }
-
-3
#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
for(int i;i<=length()-1;i++)
** **char b=s[i]; ** **if(i=0&&b<8) ** **{ ** **if(i=0)
{
** **i++; ** ** ** **if(b=’1’) ** ** ** **cout<<01; ** ** ** **if(b=’2’) ** **cout<<10; ** **if(b=’3’) ** **cout<<11; ** **if(b=’4’) ** **cout<<100; ** **if(b=’5’) ** **cout<<101; ** **if(b=‘6’) ** **cout<<110; ** **if(b=’7’) ** **cout<<111; ** **cif(b=’8’) ** **cout<<1000; ** **if(b=’9’) ** **cout<<1001; ** **if(b=’A’) ** **cout<<1010; ** **if(b=’B’) ** **cout<<1011; ** **if(b=’C’) ** **cout<<1110; ** **if(b=’D’) ** **cout<<1111; ** **if(b=’E’) ** **cout<<10000; ** **if(b=’F’) ** **cout<<10001; ** ** ** **} ** **else ** **{ ** **if(b=’1’) ** ** ** **cout<<0001; ** ** ** **if(b=’2’) ** **cout<<0010; ** **if(b=’3’) ** **cout<<0011; ** **if(b=’4’) ** **cout<<0100; ** **if(b=’5’) ** **cout<<0101; ** **if(b=‘6’) ** **cout<<0110; ** **if(b=’7’) ** **cout<<0111; ** **if(b=’8’) ** **cout<<1000; ** **if(b=’9’) ** **cout<<1001; ** **if(b=’A’) ** **cout<<1010; ** **if(b=’B’) ** **cout<<1011; ** **if(b=’C’) ** **cout<<1110; ** **if(b=’D’) ** **cout<<1111; ** **if(b=’E’) ** **cout<<10000; ** **if(b=’F’) ** **cout<<10001;
} ** **
return 0;
}
- 1
信息
- ID
- 749
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- (无)
- 递交数
- 1875
- 已通过
- 684
- 上传者