30分求调
查看原帖
30分求调
521283
wangif424楼主2022/8/20 12:40
#include<bits/stdc++.h>
using namespace std;
char a[200];
int n,t,xi;
string x,x16;
int main(){
	a[0]='0';
	a[1]='1';
	a[2]='2';
	a[3]='3';
	a[4]='4';
	a[5]='5';
	a[6]='6';
	a[7]='7';
	a[8]='8';
	a[9]='9';
	a[10]='a';
	a[11]='b';
	a[12]='c';
	a[13]='d';
	a[14]='e';
	a[15]='f';
	cin >> n;
	while(n!=0){
		t=n%10;
		for(int i=1;i<=3;i++){
			x=x+a[t%2];
			t/=2;
		}
		n/=10;
	}//cout << x << endl;
	for(int i=0;i<=x.size();i+=4){
		t=0;
		for(int j=0;j<4;j++){
			t+=((x[i+j]=='1')<<j);
		}
		//cout << t << endl;
		x16=a[t]+x16;
	}
	int l=0; 
	while(l<x16.size()-1 && a[l]=='0'){
		l++;
	}
	for(int i=l;i<x16.size();i++){
		cout << x16[i];
	}
	return 0;
}

2022/8/20 12:40
加载中...