70求助
查看原帖
70求助
1070431
ywtank楼主2024/8/30 14:14

rt

#include <bits/stdc++.h>
using namespace std;
string z(long long n){
	string h="";
	if(n==0)return h;
	char c=(n&1)+'0';
	h+=c;
	return z(n>>1)+h;
}
long long x(string s){
	int sum=0;
	int ls=s.size();
	for(int i=ls-1,j=1;i>=0;i--,(j<<=1)){
		sum+=((s[i]-'0')*j);
	}
	return sum;
}
int main(){
	long long n;
	cin >> n;
	string s=z(n);
	int ls=s.size();
	if(ls<32){
		string e="0";
		while(ls<32){
			s=e+s;
			ls++;
		}
	}
	string g="",t="";
	for(int i=0;i<ls;i++){
		if(i<16)g+=s[i];
		else t+=s[i];
	}
	cout << x(t+g);
	return 0;
}
2024/8/30 14:14
加载中...