zoukankan      html  css  js  c++  java
  • hihocoder 1311

    http://hihocoder.com/problemset/problem/1311

    这个题目模拟一下即可

    我们都知道,小数转换2进制的办法就是对于小数部分不断乘2然后每一位取整数部分

    那么这个题目也就是转换成,它是否可以通过乘以2,取整最后变成全都是0

    用c的话,模拟一下乘法便可,所以这个用java要稍微方便些,用bigdecimal

     1 import java.math.BigDecimal;
     2 import java.util.Scanner;
     3 
     4 public class Main{
     5     public static void main(String[] args) {
     6         Scanner cin = new Scanner(System.in); 
     7         BigDecimal a,b;
     8         int cnt;
     9         cnt = cin.nextInt();
    10         while((cnt--)>0){
    11             String ans ="0.";
    12             a = cin.nextBigDecimal();
    13             boolean flag = true;
    14             for(int i = 0;i<200;i++){
    15                 a = a.multiply(BigDecimal.valueOf(2));
    16                 if(a.compareTo(BigDecimal.ONE)>=0){
    17                     a=a.subtract(BigDecimal.ONE);
    18                     ans+="1";
    19                 }else 
    20                     ans+="0";
    21                 if(a.compareTo(BigDecimal.ZERO)==0)
    22                     break;
    23                 //System.out.println(a);
    24                 if(i==199)
    25                     flag = false;
    26             }
    27             if(flag)
    28                 System.out.println(ans);
    29             else 
    30                 System.out.println("NO");
    31                 
    32         }
    33     }
    34 }
  • 相关阅读:
    linux系统cpu和内存占用率
    虚拟机网卡设置
    C语言中打印返回值
    MQTT_DEMO
    MQTT-C-UDP_PUB
    MQTT-C-PUB
    结构体指针用法
    linux系统如何操作隐藏文件
    mqtt学习笔记
    XML文件的读取----cElementTree
  • 原文地址:https://www.cnblogs.com/Tree-dream/p/7288962.html
Copyright © 2011-2022 走看看