zoukankan      html  css  js  c++  java
  • 计算机学院大学生程序设计竞赛(2015’12) 1005 Bitwise Equations

    #include<cmath>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    
    const int maxn=120;
    long long X,K;
    long long  basex[maxn];
    long long basek[maxn];
    int totx,totk;
    
    int main()
    {
        int T;
        scanf("%d",&T);
        while(T--)
        {
            scanf("%lld%lld",&X,&K);
    
            totx=totk=0;
            memset(basex,0,sizeof basex);
            memset(basek,0,sizeof basek);
    
    
            while(X)
            {
                basex[totx++]=X%2;
                X=X/2;
            }
            while(K)
            {
                basek[totk++]=K%2;
                K=K/2;
            }
    
            
            int now=0;
            for(int i=0;i<totk;i++)
            {
                for(int j=now;;j++)
                {
                    if(basex[j]==0)
                    {
                        basex[j]=basek[i];
                        now=j+1;
                        break;
                    }
                    else
                    {
                        basex[j]=0;
                        now=j+1;
                    }
                }
            }
            for(int i=now;i<=100;i++) 
                if(basex[i]==1) basex[i]=0;
          
    
            long long ans=0;
            for(int i=0;i<=100;i++) ans=ans+(long long)(basex[i]*pow(2.0,i));
            printf("%lld
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    网站服务化
    网站服务化
    dubbo 服务化
    dubbo 服务化
    elk 搭建
    poj1840
    poj1840
    poj2299
    poj2299
    poj2388
  • 原文地址:https://www.cnblogs.com/zufezzt/p/5080475.html
Copyright © 2011-2022 走看看