题目地址
#include<cstdio>
#include<string>
#include<iostream>
#include<vector>
using namespace std;
typedef long long int LL;
LL to_D(string s)
{
LL sum=0;
for(int i=0;i<s.size();i++)
{
if(s[i]=='1') sum=sum*2+1;
else sum=sum*2;
}
return sum;
}
void to_print(LL a,LL b)
{
LL sum=a+b;
vector<int> ve;
while(sum)
{
ve.push_back(sum%2);
sum/=2;
}
while(ve.size()<32) ve.push_back(0);
for(int i=ve.size()-1;i>=0;i--)
{
if(i>=32&&!ve[i]) continue;
cout<<ve[i];
}
cout<<endl;
}
int main(void)
{
int t; cin>>t;
while(t--)
{
string s; cin>>s;
to_print(to_D(s),1);
to_print(to_D(s),3);
}
return 0;
}
#include<cstdio>
#include<string>
#include<iostream>
#include<vector>
using namespace std;
typedef long long int LL;
LL to_D(string s)
{
LL sum=0;
for(int i=0;i<s.size();i++)
{
if(s[i]=='1') sum=sum*2+1;
else sum=sum*2;
}
return sum;
}
void to_print(LL a,LL b)
{
LL sum=a+b;
for(int i=32;i>=0;i--)
{
int t=sum>>i&1;
if(!t&&i==32) continue;
cout<<t;
}
cout<<endl;
}
int main(void)
{
int t; cin>>t;
while(t--)
{
string s; cin>>s;
to_print(to_D(s),1);
to_print(to_D(s),3);
}
return 0;
}