zoukankan      html  css  js  c++  java
  • 杭电oj 题目1196 Lowest Bit

    Lowest Bit

    Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 12204 Accepted Submission(s): 8905

    Problem Description
    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&(-a)就能直接求出二进制的最后一位

    #include<iostream>
    #include<cstdio>
    using namespace std;
    int main()
    {
       int k;
       while(scanf("%d",&k)!=EOF)
       {
           if(k==0)
            break;
           printf("%d
    ",k&(-k));
       }
       return 0;
    }
    
  • 相关阅读:
    离开学校一年多
    ZOJ Problem Set–1337 Pi
    Old Bill
    ZOJ Problem Set–1382 A Simple Task
    ZOJ Problem Set 2975 Kinds of Fuwas
    ZOJ Problem Set 2952 Find All M^N Please
    Generate Passwords
    Java 数据类型转换之字符串
    ZOJ Problem Set 2987 Misspelling
    Digital Roots
  • 原文地址:https://www.cnblogs.com/nanfenggu/p/7900112.html
Copyright © 2011-2022 走看看