ZOJ 1383: Binary Numbers

来源:互联网 发布:非淘宝会员什么意思 编辑:程序博客网 时间:2024/04/30 05:31

求十进制数转换成二进制之后都有第几位(从低往高数,另外定义最低位叫第0位) 是1

题目说了输入不大于1,000,000的十进制数 ->所以不需要用高精度,直接int就能AC


根据直觉写代码就直接AC了 

判断数字除2的余数 如果余1,那么第0位就是1,输出'0'

然后数字除以2取整,再判断第1位,以此类推

最高位一定是1,直接输出


难度系数=0

通过率数据:37.96% (5199/13693)


import java.util.*;public class Main {public static int d;public static int n;public static int i;public static int x;public static void main(String[] args) {Scanner in = new Scanner(System.in);d=in.nextInt();for (i=0;i<d;i++){n=in.nextInt();x=0;while (n>1){if ((n%2)==1) System.out.printf("%d ",x);n/=2;x++;}System.out.printf("%d\n", x);}}}





原创粉丝点击