• 中国MOOC_零基础学Java语言_期末考试的编程题_1二进制的前导的零


     

    期末考试的编程题

    返回
     

    这是期末考试的编程题,在60分钟内,你可以多次提交,直到正确为止。

    温馨提示:

    1.本次考试属于Online Judge题目,提交后由系统即时判分。

    2.学生可以在考试截止时间之前提交答案,系统将取其中的最高分作为最终成绩。

    1
    二进制的前导的零(10分)

    题目内容:

    计算机内部用二进制来表达所有的值。一个十进制的数字,比如18,在一个32位的计算机内部被表达为00000000000000000000000000011000。可以看到,从左边数过来,在第一个1之前,有27个0。我们把这些0称作前导的零。

    现在,你的任务是写一个程序,输入一个整数,输出在32位二进制表达下它前导的零的个数。

    输入格式:

    一个整数,在32位的整数可以表达的范围内。

    输出格式:

    一个整数,表达输入被表达为一个32位的二进制数时,在第一个1之前的0的数量。

    输入样例:

    256

    输出样例:

    23

    时间限制:500ms内存限制:32000kb
     
    import java.util.Scanner;
    
    public class Main {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    
    		int number = 0;// 一个整数,在32位的整数可以表达的范围内。
    		int wei = 32;// 32位的计算机
    		String result = null;// 字符串
    
    		number = sc.nextInt();// 输入
    
    		result = Integer.toBinaryString(number);// Returns a string representation of the integer argument as an unsigned integer in base 2.
    
    		if (number != 0) {// 一个整数,表达输入被表达为一个32位的二进制数时,在第一个1之前的0的数量。
    			System.out.println(wei - result.length());
    		} else {
    			System.out.println(wei);
    		}
    	}
    }
    
  • 相关阅读:
    poj3278 Catch That Cow
    poj2251 Dungeon Master
    poj1321 棋盘问题
    poj3083 Children of the Candy Cor
    jvm基础知识—垃圾回收机制
    jvm基础知识1
    java面试基础必备
    java soket通信总结 bio nio aio的区别和总结
    java scoket aIO 通信
    java scoket Blocking 阻塞IO socket通信四
  • 原文地址:https://www.cnblogs.com/denggelin/p/6775469.html
Copyright © 2020-2023  润新知