60分求助
查看原帖
60分求助
312870
bnoom楼主2021/7/27 10:12

模拟,照题意打的QAQ

#include<bits/stdc++.h>
using namespace std;
int n,k;
string h="";
string PourLZ(string s,int l)//R
{
	int ls=s.size();string k="";
	for(int i=0;i<l-ls;i++) k+="0";
	k+=s;return k;
}
string stoe(int a)
{
	stack<int> s;
	char ys;string ans="";
	while(a)
	{
		ys=char(a%2+'0');
		s.push(ys);
		a/=2;
	}
	while(!s.empty())
	{
		ans+=s.top();
		s.pop();
	}
	return PourLZ(ans,32);
}
string jh(string a)
{
	string ans="";
	for(int i=16;i<32;i++) ans+=a[i];
	for(int i=0;i<16;i++) ans+=a[i];
	return ans;
}
int etos(string a)
{
	int ans=0;
	int l=1;
	for(int i=0;i<32;i++)
	{
		ans+=(a[32-i-1]-'0')*l;
		l*=2;
	}
	return ans;
}
int main()
{
    cin>>n;
    h=stoe(n);
    h=jh(h);
    cout<<etos(h);
	return 0;
}

求助大佬

2021/7/27 10:12
加载中...