zoukankan      html  css  js  c++  java
  • zoj1383 zoj3418 二进制 基础

                                                                               传送门

    题目大意:从末位到首位输出所在位置的值是1的位置。

    可以用除---->  num>>1  或减----> -(n^(-n))

    #include<cstdio>
    #include<cstdlib>
    #include<iostream>
    #include<cmath>
    using namespace std;
    int main()
    {
    	int n,T;
    	cin>>T;
    	while(T--)
    	{
    		cin>>n;
    		int t=0,num=0;
    		while(true){	    	
    			if(n==0) break;
    		    if(n&1) {
    				if(t) cout<<" ";
    				else t++;
    				cout<<num;
    			}
    		    num++;
    		    n=n>>1;
    		}
    		if(T) cout<<endl;
    	}
    	return 0;
    } 

    
    

    #include<cstdio>
    #include<cstdlib>
    #include<iostream>
    #include<cmath>
    using namespace std;
    int main()
    {
    	int n,T;
    	cin>>T;
    	while(T--)
    	{
    		cin>>n;
    		int t=0;
    		while(true){	
    			if(n==0) break;
    			int k=n&(-n);
    			n-=k;//减去最后一位为1的数值
    			k=log2(k);//把数值转化为位置
    			if(t) cout<<" "<<k;
    			else cout<<k;
    			t++;	
    		}
    		if(T) cout<<endl;
    	}
    	return 0;
    } 
    
    
                             zoj3418 传送门2号
    #include<cstdio>
    #include<cstdlib>
    #include<iostream>
    #include<cmath>
    using namespace std;
    int a[110],b[110];
    int _find1(int v)
    {
    	    int num=0;
    		while(v){	    	
    		    if(v&1) num++;
    		    v=v>>1;
    		}
    	return num;
    }
    int main()
    {
    	int T,n,m,i,j,temp;
    	cin>>T;
    	while(T--){
    		cin>>n>>m;
    	    for(i=1;i<=n;i++) cin>>a[i];
    	    for(i=1;i<=m;i++) cin>>b[i];
    	    
    	    for(i=1;i<=m;i++){
    			int Minnum=100000,Minpos=0;
    			for(j=1;j<=n;j++){
    			  temp=_find1(b[i]^a[j]);
    			  if(temp==Minnum&&a[j]<Minpos) Minpos=a[j];
    			  if(temp<Minnum){  Minnum=temp;Minpos=a[j];}
    			}
    			cout<<Minpos<<endl;
    	    }
    	}
    	return 0;
    } 

    
    
    

    
    
    
    
    
       
    
  • 相关阅读:
    如何删除.DS_Store文件?
    STL 技巧整理 7/22
    贪心
    防线
    bfs&dfs模板
    并查集学习总结
    二叉树相关代码
    区间DP学习笔记
    多算法模板整理
    防线题解
  • 原文地址:https://www.cnblogs.com/hua-dong/p/7603960.html
Copyright © 2011-2022 走看看