首页 > 试题广场 >

二进制数

[编程题]二进制数
  • 热度指数:25276 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
大家都知道,数据在计算机里中存储是以二进制的形式存储的。 有一天,小明学了C语言之后,他想知道一个类型为unsigned int 类型的数字,存储在计算机中的二进制串是什么样子的。 你能帮帮小明吗?并且,小明不想要二进制串中前面的没有意义的0串,即要去掉前导0。

输入描述:
多行,每一行表示要求的数字


输出描述:
输出共T行。每行输出求得的二进制串。
示例1

输入

23
535
2624
56275
989835

输出

10111
1000010111
101001000000
1101101111010011
11110001101010001011
利用递归输出
import java.util.Scanner;

public class Main{
    public static void Translate(int number){
        if(number==1||number==0){
            System.out.print(number);
        }else{
            Translate(number/2);
            System.out.print(number%2);
        }
    }
    
    public static void main(String []arsg){
        int number;
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNext()){
            number = scanner.nextInt();
            Translate(number);
        }
        scanner.close();
    }
    
}
发表于 2021-03-09 20:10:03 回复(0)
Java 解法,题目其实没有输入n,表述有误
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) System.out.println(Integer.toBinaryString(scanner.nextInt()));
    }
}


发表于 2020-03-18 09:54:19 回复(0)
import java.util.Arrays;
import java.util.Scanner;

public class Main{
	
	public static void main(String[] args)  {
		Scanner scanner = new Scanner(System.in);
		while(scanner.hasNext()) {
			int n = scanner.nextInt();
			System.out.println(Integer.toBinaryString(n));
		}
	}
}

发表于 2020-03-09 13:01:10 回复(0)
输入有问题
编辑于 2020-03-05 17:19:40 回复(0)
本题应该再核实一下:
1,首先,题目中是unsigned int型,但是int型就可以通过测试,没有对超过int范围但在unsigned int范围内的数据进行测试;(我在java中用的是long型,但是我发现改成int也可以通过)
2,其次,题目给的测试样例与编译通过的测试用例不符,题目中的测试用例的意思是,首先输入5,表示要输入5行,再输入5个数字,给出5个二进制表示形式,如下:
(这个编译是不通过的)
但是实际他需要的是写一个while循环,输入一个给一个答案,这样才能编译通过,如下:
(这样是通过的)
第一次在牛客做题不知道是不是对题目理解不到位,新人可参考。
发表于 2020-02-10 10:43:49 回复(2)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while (scan.hasNext()) {
            int n = scan.nextInt();
            System.out.println(Integer.toBinaryString(n));
        }
    }
}
发表于 2018-05-12 19:16:24 回复(0)

问题信息

难度:
6条回答 13113浏览

热门推荐

通过挑战的用户

查看代码
二进制数