HDOJ 1196 Lowest Bit(二进制相关的简单题)

简介: HDOJ 1196 Lowest Bit(二进制相关的简单题)

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


输入一个十进制的数:然后转换为二进制,输出二进制的位数从后面到前面数的第一个1的时候的数的十进制。

例如:26二进制是11010,所以从后面对前面数,第二位为1,所以取值为10,再转换成十进制,输出为2;

import java.util.Scanner;
public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            int n =sc.nextInt();
            if(n==0){
                return ;
            }
            String str = Integer.toString(n, 2);
            //System.out.println(str);
            for(int i=str.length()-1;i>=0;i--){
                if(str.charAt(i)=='1'){
                    System.out.println((int)Math.pow(2, str.length()-1-i));
                    break;
                }
            }
        }
    }
}
目录
相关文章
|
5月前
|
C# 数据安全/隐私保护
C#使用 MailKit 收发邮件
【10月更文挑战第15天】在C#中使用MailKit库可轻松实现邮件的发送与接收。首先需通过NuGet包管理器安装MailKit,并编写代码设置发件人、收件人、邮件主题及正文,连接邮件服务器并认证后即可发送邮件。接收邮件时,同样需连接服务器并认证,然后打开收件箱遍历读取邮件信息。整个过程需根据实际邮件服务器配置相应参数。
229 4
|
缓存 JavaScript 前端开发
三种手段:通过Apollo和nacos的能力进行国际化动态配置实现热更新
本文主要介绍了 通过Apollo和nacos的能力进行国际化热更新的实战,有三个方案,代码实现过程中遇到的一些问题,做了一些解决和说明。
854 0
三种手段:通过Apollo和nacos的能力进行国际化动态配置实现热更新
|
算法
m基于matlab的信息传输系统包括卷积编码,QPSK调制解调以及维特比译码
m基于matlab的信息传输系统包括卷积编码,QPSK调制解调以及维特比译码
233 0
m基于matlab的信息传输系统包括卷积编码,QPSK调制解调以及维特比译码
|
开发工具 git druid
解决Git中fatal: refusing to merge unrelated histories
Git的报错 在使用Git的过程中有时会出现一些问题,那么在解决了每个问题的时候,都需要去总结记录下来,下次不再犯。 一、fatal: refusing to merge unrelated histories 今天在使用Git创建项目的时候,在两个分支合并的时候,出现了下面的这个错误。
108344 6
|
存储 算法 安全
Java-Set接口概述
Set接口是Collection的子接口,set接口没有提供额外的方法
101 0
|
弹性计算 数据库
ECS使用有感
我是一名即将步入社会的大学生,随着网络法等相关专业知识的学习愈发强烈。查询资料时,常常会浏览到制作精美的个人站,因此产生了建设自己个人站的设想,但是由于业余时间少之甚少,同时听闻购买域名与服务器的价格不菲,因此计划一直未能实现
|
10月前
|
消息中间件 缓存 前端开发
No209.精选前端面试题,享受每天的挑战和学习
No209.精选前端面试题,享受每天的挑战和学习
No209.精选前端面试题,享受每天的挑战和学习
Layer 开启与关闭加载层
Layer 开启与关闭加载层
104 0