zoukankan      html  css  js  c++  java
  • Good Bye 2015 B. New Year and Old Property

    题目链接:http://codeforces.com/problemset/problem/611/B

    解题思路:

    直接暴力推出所有符合条件的。

    由进制转换可以知道,二进制只有1个0也就是十进制减去前面任意一个2的次方

    然后脑残一样的用了位运算,死都无法表示64位,只能32位,还以为电脑出问题了。。换了pow秒过。。。

    实现代码:

    #include<bits/stdc++.h>
    using namespace std;
    #define ll long long
    int main()
    {
        ll m,n,i,j,a[100],b[10000],na,nb,c=0,num;
        a[0] = 1;
        for(i=1;i<63;i++){
            a[i] = pow(2,i);
                a[i]+=a[i-1];
            //cout<<a[i]<<endl;
        }
        b[0] = a[0];
        cin>>m>>n;
        for(i=1;i<63;i++){
            for(j=i-1;j>=0;j--){
                num = pow(2,j);
                b[c++] = a[i] - num;
                //cout<<b[c-1]<<endl;
                }
                if(b[c-1]>=n){
                    break;
                }
            }
        if(m!=n){
        for(i=0;i<c;i++){
            if(b[i]>=m){
                    na=i;
                break;
            }
        }
        for(i=0;i<c;i++){
            if(b[i]>n){
                nb = i;break;
            }
        }
        cout<<nb-na<<endl;
        }
        else{
            int flag = 0;
            for(i=0;i<c;i++){
                if(b[i]==m)
                    flag=1;
                    //cout<<b[i]<<endl;
            }
            if(flag == 1)
                cout<<"1"<<endl;
            else
                cout<<"0"<<endl;
        }
        return 0;
    }
  • 相关阅读:
    mysql是如何启动的?
    qt终于安装成功
    随笔
    博客首写
    为什么你预约不了政府特供口罩-太难了
    jQuery 选择器(转)
    [JS]Cookie精通之路
    存储过程分页 简单列子
    泛型集合List<T> Dictionary<K,V>
    数据绑定控件
  • 原文地址:https://www.cnblogs.com/kls123/p/7126944.html
Copyright © 2011-2022 走看看