Lowest Bit


Time Limit: 2 Seconds      Memory Limit: 65536 KB


Given an positive integer A (1 <= A <= 100), output the lowest bit of A.

For example, given A = 26, we can write A in binary form as 11010, so the lowest bit of A is 10, so the output should be 2.

Another example goes like this: given A = 88, we can write A in binary form as 1011000, so the lowest bit of A is 1000, so the output should be 8.

Input

Each line of input contains only an integer A (1 <= A <= 100). A line containing "0" indicates the end of input, and this line is not a part of the input data.

Output

For each A in the input, output a line containing only its lowest bit.

Sample Input

26

88

0



Sample Output

2

8


———————————————————————————————————

题目的意思是给出一个n,求出n化为2进制后从低位开始第一个1代表的数

思路:无

AC代码1:化成2进制

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <queue>
#include <set>
#include <stack>
#include <map>
#include <functional>
#include <bitset>
#include <string> using namespace std; #define LL long long
#define INF 0x3f3f3f3f int main()
{
int n;
int a[100];
while(~scanf("%d",&n)&&n)
{
int len=0;
while(n)
{
a[len++]=n%2;
n/=2;
}
int ans=1;
for(int i=0;i<len;i++)
{
if(!a[i]) ans*=2;
else break;
}
printf("%d\n",ans);
}
return 0;
}

AC代码2:利用计算机补码快速算,树状数组原理

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <queue>
#include <set>
#include <stack>
#include <map>
#include <functional>
#include <bitset>
#include <string> using namespace std; #define LL long long
#define INF 0x3f3f3f3f int lowbit(int x)
{
return x&-x;
} int main()
{
int n;
while(~scanf("%d",&n)&&n)
{
printf("%d\n",lowbit(n));
}
return 0;
}

最新文章

  1. 在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除。
  2. 转(zip文件格式说明)
  3. 9.S5PV210的时钟系统
  4. 怎样获取优酷站内视频的MP4格式地址,嵌入到手机页面播放
  5. Aster及其它遥感数据下载地址
  6. 虚拟机Linux下找不到/dev/cdrom
  7. poj3295解题报告(构造、算术表达式运算)
  8. sql 统计用的sql
  9. 后台线程,优先级,sleep,yield
  10. HDOJ(HDU) 1977 Consecutive sum II(推导、、)
  11. Video.js网页视频播放插件
  12. Nginx 拒绝指定IP访问
  13. 使用HTML5 Canvas做些什么
  14. 浙大pat1050题解
  15. spring加载异常
  16. linux虚拟机局域网网卡配置
  17. 【ANT】taskdef class org.programmerplanet.ant.taskdefs.jmeter.JMeterTask cannot be found using the classloader AntClassLoader[]解决办法
  18. ACE在Linux下编译安装
  19. centos中病毒
  20. 【Spark调优】内存模型与参数调优

热门文章

  1. Python线程优先级队列(Queue)
  2. spring ioc 注解配置
  3. 吴裕雄 数据挖掘与分析案例实战(14)——Kmeans聚类分析
  4. AUC理解
  5. Java的反射和代理以及注解
  6. 常用快捷键及eclipise快捷键
  7. cf-Round541-Div2-F(并查集+静态链表)
  8. windows server 2008 远程桌面连接数修改--无限连接
  9. GridView,datalist添加序号列
  10. CentOS 安装 Xamarin官方Mono