zoukankan      html  css  js  c++  java
  • C. 无穷的小数

    单点时限: 1.0 sec

    内存限制: 512 MB

    在十进制下,我们能够很轻易地判断一个小数的位数是有穷的或无穷的,但是把这个小数用二进制表示出的情况下其有穷性和无穷性就会发生改变,比如

    十进制下的 0.5 ,在二进制下的值为 0.1 ;
    十进制下的 0.75 ,在二进制下的值为 0.11 ;
    十进制下的 0.6 ,在二进制下的值为 0.1001100......

    给你一个十进制的小数,判断其在二进制表示下小数位数是否无穷。

    输入格式

    多组输入,处理到文件结束
    每组数据输入一个六位的小数 n.(0n<1)

    输出格式

    如果在二进制下小数位数是有穷的,输出”YES”,否则输出”NO”.

    样例

    input
    0.500000
    0.600000
    0.750000
    
    output
    YES
    NO
    YES
    思路:二进制小数的转换,,乘2遇1减1,,,,当迭代到一定次数时 程序退出,说明无限小数
    #include<iostream>
    #include<cstdio>
    using namespace std;
    typedef long long ll;
    int main()
    {
        double a;
        while(cin>>a)
        {
            ll b,sum=0;
            b=a*10000000;
            b=(ll)b;
            while(1){
                sum++;
                b=b<<1;
                if(b>=10000000){
                    b=b-10000000;
                }
                if(b==0||sum>=200){
                    break;
                }
            }
            if(b==0){
                cout<<"YES"<<endl;
            }
            else cout<<"NO"<<endl;
                    
        }
        return 0;
    }



  • 相关阅读:
    JS-OO-数据属性,访问器属性
    下载php扩展笔记
    php字符串笔记
    include、require、include_once和require_once理解
    http协议笔记
    Git中三种文件状态及其转换
    git add 命令
    / 直接用就可以了 想用,需要用\来转义
    $_POST 变量以及$GLOBALS['HTTP_RAW_POST_DATA']
    Python multiprocessing
  • 原文地址:https://www.cnblogs.com/Accepting/p/11285475.html
Copyright © 2011-2022 走看看