
位运算
位运算应用
YAOSHIAO
这个作者很懒,什么都没留下…
展开
-
AcWing 801. 二进制中1的个数(C++算法)
AcWing 801. 二进制中1的个数1、题目(来源于AcWing):给定一个长度为n的数列,请你求出数列中每个数的二进制表示中1的个数。输入格式第一行包含整数n。第二行包含n个整数,表示整个数列。输出格式共一行,包含n个整数,其中的第 i 个数表示数列中的第 i 个数的二进制表示中1的个数。数据范围1≤n≤100000,0≤数列中元素的值≤109输入样例:51 2 3 4 5输出样例:1 1 2 1 22、基本思想:用 x & -x 返回 x 中最后一位 1。比原创 2020-07-16 16:22:36 · 418 阅读 · 0 评论 -
输出n的二进制数第k位是几(C++)
输出n的二进制数第k位是几1、题目:n为十进制数,k为要输出的位数。输入样例:11 2输出样例:02、基本思路:用n右移k位(x = n >> k),看个位是几(x & 1),即 x >> k & 13、C++代码如下(该代码引用AcWing网站的代码):#include <iostream>using namespace std;int main(){ int n, k; cin >> n >>原创 2020-07-16 16:50:51 · 1065 阅读 · 0 评论