趁着现在还记得赶快写下来,个人回忆版
计算机学院机试题目:
第一题:
题目描述:
输入32位的二进制01串,输出这个数+1和+3后的32位二进制串
输入描述:
先输入T,表示输入的组数
然后输入T行二进制串
输出描述:
输出+1和+3后的二进制串
输入样例:
2
00000000000000000000000000000000
00000000000000000000000000000001
输出样例:
00000000000000000000000000000001
00000000000000000000000000000011
00000000000000000000000000000010
00000000000000000000000000000100
代码:
#include<bits/stdc++.h>
using namespace std;
/*
2
00000000000000000000000000000000
00000000000000000000000000000001
*/
int main()
{
int T;
cin>>T;
while(T--)
{
string str;
cin>>str;
int idx=str.size()-1;//从低位开始
while(str[idx]=='1')
{
str[idx--]='0';//是1,变0,进1
}
str[idx]='1';//是0,加1
cout<<str<<endl;
idx=str.size()-1;
while(str[idx]=='1')
{
str[idx--]='0';
}
str[idx]='1';
idx=str.size()-1;
while(str[idx]=='1')
{
str[idx--]='0';
}
str[idx]='1';
cout<<str<<endl;
}
return 0;
}
第二题:
题目描述&