请找到一个大于 2022 的最小数,这个数转换成二进制之后,最低的 6 个二进制为全为 0

第一题 A
问题描述

        请找到一个大于 2022 的最小数,这个数转换成二进制之后,最低的 6 个二进制为全为 0 。

        请将这个数的十进制形式作为答案提交。

答案提交

        这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

答案

2048

代码如下

//  请找到一个大于 2022 的最小数,这个数转换成二进制之后,最低的 6 个二进制为全为 0
public class langqiao01 {
    public static void main(String args[]) {
        //方法调用
        for (int i = 2023; ; i++) {
            A a = new A();//调用前创建对象并接收
            boolean t = a.check(i);//调用方法
           //循环的判断条件
            if (t) {
                System.out.println(i);
                break;
            }
        }
    }
}
//1. 方法的返回类型 boolean
//2. 方法的名字 cheak
//3. 方法的形参 (int i)
//4. 方法体  判断
    class A {//方法是类的一部分创建方法必须先创建类
        public boolean check(int i) {//创建方法
            String s = Integer.toBinaryString(i);//转换成二进制的字符串
            for (int j = s.length() - 1; j >= s.length() - 6; j--) {
                //逆向思维
                if (s.charAt(j) != '0')
                    return false;
            }
            return true;//表示把true的结果返回给调用方法的位置
        }

    }


 

你可能感兴趣的:(java,算法,开发语言)