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