3271:练44.3 二进制串
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t,n,i,y;
cin>>t;
while( t-- )
{
cin>>n;
for(int i=31;i>=0;--i)
{
if( n&(1<<i) )
{
for(int j=i;j>=0;--j)
{
cout<<(bool)(n&1<<j);
}
break;
}
}
cout<<endl;
}
return 0;
}
3272:【例45.1】 高低位交换
#include <bits/stdc++.h>
using namespace std;
int main()
{
unsigned int n,a,b;
cin>>n;
a=(n<<16);
b=(n>>16);
cout<<(a|b);
return 0;
}
3273:【例45.2】 筷子大作战
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
int n,a=0,b;
cin>>n;
while(n--){
cin>>b;
a^=b;
}
cout<<a;
return 0;
}
3274:【例45.3】 寻找最低数
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,k;
while(cin>>n&&n!=0){
for(int i=0;;i++){
if(n%2==1){k=i;break;}
n/=2;
}
cout<<pow(2,k)<<endl;
}
return 0;
}
3275:【例45.4】 数位翻转
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
n=n^(n-1);
cout<<__builtin_popcount(n);
return 0;
}
《信息学奥赛一本通 编程启蒙C++版》3001-3200
《信息学奥赛一本通 编程启蒙C++版》3151-3155(5题)
《信息学奥赛一本通 编程启蒙C++版》3155-3159(5题)
《信息学奥赛一本通 编程启蒙C++版》3160-3164(5题)
《信息学奥赛一本通 编程启蒙C++版》3165-3170(6题)
《信息学奥赛一本通 编程启蒙C++版》3171-3175(5题)
《信息学奥赛一本通 编程启蒙C++版》3176-3180(5题)
《信息学奥赛一本通 编程启蒙C++版》3181-3185(5题)
OpenJudge NOI题库 116题
小学生C++编程基础(一)--- 123题