打印具有第一位和最后一位作为唯一设置位的数字
任务是打印给定的n个数字,该n个数字恰好具有两个不小于2也不大于2的设置位。
用计算机语言设置的位是值为1的位,未设置的位是值为0的位
Input: value of num=5
Output: 1 3 5
As 1 is equivalent to 1 in binary
3 is equivalent to 11 in binary
5 is equivalent to 101 in binary算法
START
Step 1 -> declare variable as unsigned int num=5 and int i=1
Step 2 -> print i
Step 3 -> Loop For i=3 and i<=num and ++i
IF (!(i-1 & i-2))
Print i
End
End
STOP示例
#include <stdio.h>
int main(int argc, char const *argv[]) {
unsigned int num = 5;
int i = 1;
printf("%d ", i); //printing first number 1
for (i = 3; i <= num; ++i) {
if(!(i-1 & i-2)) //performing and operation on i-1 and i-2
printf("%d ", i);
}
return 0;
}输出结果
如果我们运行上面的程序,它将生成以下输出
1 3 5
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短