1 条题解

  • 0
    @ 2023-6-11 12:16:30

    C :

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #include<ctype.h>
    #include<math.h>
    char r[1001],t[1];
    int main(){
    	char s[1001];
    	scanf("%s",&s);
    	if(s=="0"){
    		printf("%d",0);
    		return 0;
    	}
    	long long m = 0,x,sum=0;
    	int n = strlen(s),i,j;
    	for(i=0;i<n;i++){
    		x = s[i] - '0';
    		for(j=1;j<=n-i-1;j++){
    			x = x * 2;
    		}
    		sum = sum + x;
    	} 
    	while(sum!=0){
    		t[0] = sum%8+'0';
    		strcat(r,t);
    		sum = sum/8;
    	}
    	for(i=strlen(r)-1;i>=0;i--){
    		printf("%c",r[i]);
    	}
    	return 0;
    }
    
    

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    char f(string s) {
    	int r=0,i,t=1;
    	char s1;
    	for (i=s.size()-1;i>=0;i--) {
    		r=r+(s[i]-48)*t;
    		t*=2;
    	}
    	s1=r+48;
    	return s1;
    }
    int main(){
    	string s,t;
    	cin>>s;
    	int i,x;
    	x=s.size();
    	if (s.size()%3!=0) {
    		for (i=1;i<=3-(x%3);i++) {
    			s="0"+s;
    		}
    	}
    	for (i=0;i<s.size();i+=3) {
    		t=s.substr(i,3);
    		cout<<f(t);
    	}
    	cout<<endl;
    
    	return 0;
    }
    
    
    

    Python :

    n=input()
    a=int(n,2)
    b=oct(a)[2:]
    print(b)
    
    • 1

    信息

    ID
    2193
    时间
    1000ms
    内存
    16MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者