算法营
文章平均质量分 53
凡鸽鸽
在读大学生,简单记录学习过程
展开
-
[凡鸽鸽]《算法营03》将整数的奇偶位互换
《算法营03》将整数的奇偶位互换类似下面表格中的情况,将整数二进制中的奇偶位进行互换00010010000110比如:9 的奇偶位互换后得到的结果为 6实现原理:1.由于 0 与任何数和与运算的结果都为 0(即消除任何数),而 1 和任何数与运算结果都为任何数本身。2.故可以先用……0101010101的二进制数与 整数进行与运算 并保存运算的值为X,达到保留奇数位,消除偶数位的效果。3.反之再用1010101010……的二进制数与 整数进行与运原创 2021-03-19 19:44:59 · 105 阅读 · 0 评论 -
[凡鸽鸽]《算法营02》实现输入一个整数,输出该数二进制中表示1的个数
《算法营02》实现输入一个整数,输出该数二进制中表示1的个数: 本题共三种方法,推荐第三种。方法一:令1从最低位开始&运算,每次左移一个位置,若&位运算结果 == 1即加一,最后输出个数即可(虽然整数为32位,最高位运算36次,但为了节省时间,先将输入的整数除以二,所得结果即为需要位运算的最多次数)代码:#include <iostream>using namespace std;int main(){ system("color F0"); int n,原创 2021-03-18 21:54:32 · 220 阅读 · 0 评论 -
[凡鸽鸽]《算法营01》异或求数组中唯一出现两次的数
##异或求数组中唯一出现两次的数废话不多说,直接上代码://异或求数组中唯一出现两次的数 #include <iostream>#include<stdlib.h>#include<time.h>using namespace std;int main(){ system("color F0"); srand((unsigned int)time(NULL)); int c[11]={0,1,2,3,4,5,6,7,8,9},x=0原创 2021-03-17 09:19:28 · 202 阅读 · 0 评论