2 条题解

  • 0
    @ 2025-10-6 17:06:42

    短除法

    #include<stdio.h>
    int main()
    {
        int n;
        while(scanf("%d",&n)!=EOF){
            if(n==0){
                printf("0\n");
                continue;
            }int a[1001],num=0;
            while(n>0){
                a[num]=n%2;
                n=n/2;
                num++;
            }for(int i=num-1;i>=0;i--){
                printf("%d",a[i]);
            }printf("\n");
        }
        return 0;
    }
    
    • 0
      @ 2023-12-25 11:39:33
      #include <iostream>
      
      using namespace std;
      
      int main(){
      std::ios::sync_with_stdio(false);
      cin.tie(0);
      cout.tie(0);	
      	int n;
      	while(cin >> n){
      	int p=0;
      	if(n==0){
      		cout << "0" << '\n';
      		continue;
      	}
      	for(int i=31;i>=0;i--){
      		if((n>>i&1)){           //去除无效的0 
      			p=1;
      		}
      		if(p==1){
      		cout << (n>>i&1);       //&运算输出 1&1=1 0&1=0 
      	}
      	}
      		cout << '\n';
      }
      	return 0;
      }
      
      • 1

      信息

      ID
      195
      时间
      3000ms
      内存
      128MiB
      难度
      5
      标签
      (无)
      递交数
      579
      已通过
      205
      上传者