【九度OJ】题目1473:二进制数 解题报告

来源:互联网 发布:itouch4怎么下载软件 编辑:程序博客网 时间:2024/06/04 21:46

【九度OJ】题目1473:二进制数 解题报告

标签(空格分隔): 九度OJ


http://ac.jobdu.com/problem.php?pid=1473

题目描述:

大家都知道,数据在计算机里中存储是以二进制的形式存储的。
  有一天,小明学了C语言之后,他想知道一个类型为unsigned int 类型的数字,存储在计算机中的二进制串是什么样子的。
  你能帮帮小明吗?并且,小明不想要二进制串中前面的没有意义的0串,即要去掉前导0。

输入:

第一行,一个数字T(T<=1000),表示下面要求的数字的个数。
接下来有T行,每行有一个数字n(0<=n<=10^8),表示要求的二进制串。

输出:

输出共T行。每行输出求得的二进制串。

样例输入:

523535262456275989835

样例输出:

101111000010111101001000000110110111101001111110001101010001011

Ways

这个题同样是Big Integer类的使用。注意一个地方,是我出错的。读取n的时候,直接读入一行再转换,如果是nextInt()的话,会留下一个换行符,那么下次的nextLine()就是空的。导致出错。

import java.util.*;import java.math.*;public class Main{    public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);        while (scanner.hasNext()) {            int n = Integer.parseInt(scanner.nextLine());//读入行            for (int i = 0; i < n; i++) {                String num = scanner.nextLine();                System.out.println(change(num, 10, 2));            }        }    }    private static String change(String num, int from, int to) {        return new BigInteger(num, from).toString(to);    }}

Date

2017 年 3 月 17 日

0 0
原创粉丝点击