3 条题解

  • 0
    @ 2025-10-16 17:26:31
    #include<stdio.h>
    
    int main(){
    	int n;
    	scanf("%d",&n);
    	
    	long long tot[20];
    	int i=0;
    	int fig=1;
    	for(i=0;i<20;i++){
    		tot[i]=fig;
    		fig*=2;
    	}
    	int count=0;
    	n=n-1;
    	
    	for(i=19;i>=0;i--){
    		if(n-tot[i]>=0){
    			n-=tot[i];
    			count++;
    		}
    		if(n==0){
    			break;
    		}
    	}
    	printf("%d",count);
    	
    	return 0;
    	
    }
    

    信息

    ID
    36
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    367
    已通过
    120
    上传者