1 条题解
-
0
C :
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<ctype.h> char s[10001],c[1],x[10001];//s为输入的二进制码,x为存储16进制 int main() { scanf("%s",&s);//输入二进制 int len = strlen(s),i,j;//二进制长度 long long n = 0,t = 0; for(i=0;i<len;i++){ t = s[i] - '0'; for(j = 1;j<=len-i-1;j++){ t = t * 2; } n = n + t; //转为十进制 } if(n==0){ printf("%d",0); return 0; } while(n!=0){ if(n%16>=10){ c[0]=n%16-10 +'A'; }else{ c[0]=n%16+'0'; } strcat(x,c); n/=16; } for(i=strlen(x)-1;i>=0;i--){ printf("%c",x[i]); } return 0; }
C++ :
#include <bits/stdc++.h> using namespace std; char fun(string a) { int k=1,s=0; for (int i=a.size()-1;i>=0;i--) { s=s+(a[i]-48)*k; k=k*2; } if (s>=10) return char(s+55); else return char(s+48); } int main() { string s,r,l; cin>>s; int t=s.size(); if (t%4!=0) { for (int i=1;i<=4-t%4;i++) { s="0"+s; // cout<<s<<endl; } } for (int i=0;i<s.size();i+=4) { l=s.substr(i,4); // cout<<l<<endl; r=r+fun(l); } cout<<r<<endl; return 0; }
Python :
n=input() a=int(n,2) b=hex(a).upper()[2:] print(b)
- 1
信息
- ID
- 2194
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者