题目:
Time limit 1000 ms
Memory limit 32768 kB
OS Windows
Source Zhejiang University Local Contest 2005
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
思路:
该题目就是将输入的A转换成二进制,从低位向高位依次判断该位是否为1,假设第n位上第一次出现1,则结果就为2(n-1)
代码: