您的位置:首页 > 编程语言 > C语言/C++

山东理工大学ACM平台题答案关于C语言 1098 Lowest Bit

2013-12-15 16:25 288 查看

Lowest Bit


Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^

题目描述

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.

输入

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.

输出

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

示例输入

26
88
0


示例输出

2
8

最低点Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^时间限制:1000MS内存限制:65536k有疑问点这里^ _ ^?题目描述题目描述Given an positive integer A (1 <= A <= 100), output the lowest bit of A. 给出一个正整数(1 <= < = 100),输出的最低点之一。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.例如,给定一个= 26,我们可以写一个以二进制的形式为11010,所以最低点是10,所以输出应为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.另一个例子是这样的:给定一个= 88,我们可以写一个以二进制的形式为1011000,所以最低点是1000,所以输出应为8。输入输入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.输入的每一行只包含一个整数(1 <= < = 100)。一个包含";0 ";表示输入的结束,这是不是输入数据的一部分。输出输出For each A in the input, output a line containing only its lowest bit.每一个的输入,输出一行只包含的最低点。示例输入示例输入262688880示例输出0示例输出2288

#include <stdio.h>

int main()

{

int n, r;

while (scanf("%d", &n)==1 && n){

r = 1;

while (n){

if ((n&1) == 1) break;

n >>= 1;

r <<= 1;

}

printf("%d\n", r);

}

return 0;

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐