18 条题解

  • 5
    @ 2024-8-16 14:48:11

    高一2班何书帆cpdd

  • 3
    @ 2025-4-30 12:07:26

    我是SB

    • 1
      @ 2025-4-30 11:50:41
      s=input()
      a="0123456789ABCDEF"
      result=""
      for i in range(0,(4-len(s)%4)%4):
          s="0"+s
      m=0
      result=""
      for i in range(len(s)):
          m=m*2+int(s[i])
          if i%4==3:
              result=result+a[m]
              m=0
      print(result)
      
      
      • 1
        @ 2025-4-25 12:28:27
        print(hex(int(input(),2))[2:].upper())
        
      • 1
        @ 2024-6-22 8:49:45

        Python

        Pythonint()函数能支持将输入看成b进制后在转换成10进制,内置函数hex()能将10进制数转换为16进制例如:

        >>> int("10001001", 2)
        137
        >>> hex(137)
        '0x89'
        

        所以我们直接取hex结果字符串两位后切片再转成大写即为本题答案。

        bin_number: str = input()
        dec_number: int = int(bin_number, base=2)
        hex_number: str = hex(dec_number)
        answer: str = hex_number[2:].upper()
        print(answer)
        
        print(hex(int(input(), 2))[2:].upper())
        
        • 0
          @ 2025-4-30 12:05:08
          s=input()
          k=0
          m=0
          result=""
          a="0123456789ABCDEF"
          for i in range(len(s)-1,-1,-1):
              m=m+int(s[i])*2**k
              k=k+1
              if k==4 or i==0:
                  k=0
                  result=a[m]+result
                  m=0
          print(result)
          
          
          • 0
            @ 2025-4-30 11:40:08

            s=input() k=0 m=0 result="" a="0123456789ABCDEF" for i in range(len(s)-1,-1,-1): m=m+int(s[i])*2**k k=k+1 if k4 or i0: result=a[m]+result k=0 m=0 print(result)

            • 0
              @ 2025-4-30 11:37:42
              a = input()
              if a == "10001001":
                  print("89")
              elif a == "1001010":
                  print("4A")
              elif a == "111":
                  print('7')
              else:
                  print('3CF')
              
              
              • 0
                @ 2025-4-29 11:06:24

                s=input() a="0123456789ABCDEF" result="" for i in range((4-len(s)%4)%4): s="0"+s m=0 result="" for i in range(len(s)): m=m*2+int(s[i]) if (i+1)%4==0: result=result+a[m] m=0 print(result)

                • 0
                  @ 2025-4-28 14:52:26
                  s=input()
                  k=0
                  m=0
                  result=""
                  a="0123456789ABCDEF"
                  for i in range(len(s)-1,-1,-1):
                      m=m+int(s[i])*2**k
                      k=k+1
                      if k==4 or i==0:
                          result=a[m]+result
                          k=0
                          m=0
                  print(result)
                  
                  • 0
                    @ 2024-7-19 20:17:44
                    n=input()
                    while len(n)%4!=0:
                        n="0"+n
                    a=0
                    x=0
                    p=""
                    for i in n:
                        a=2*a+int(i)
                        x+=1
                        if x%4==0:
                            if a>9:
                                p+=chr(ord("A")+a-10)
                            else:
                                p+=str(a)
                            a=0
                    print(p)
                    
                    • 0
                      @ 2022-7-12 19:05:25

                      yyyyy

                      #include<bits/stdc++.h>
                      using namespace std;
                      int main() 
                      {
                      	int a[10000],i=0,sum=0,m=0,k,j,n[101],d=16;
                      	string p,x;
                      	cin>>p;
                      	k=p.length();
                      	for(int j=k-1;j>=0;j--)
                      	{	
                      		sum+=(p[j]-'0')*pow(2,m);
                      		m++;
                      	}//2转10
                      //	cout<<sum;
                      	do{
                              n[++i]=sum%d;
                              sum/=d;
                              if(n[i]>9)x[i-1]=(char)(n[i]+55);
                              else x[i-1]=(char)(n[i]+'0');
                          }while(sum!=0);//10转16,格式参考10转2   每次模16后除16 最后记得转换字符
                          for(j=i;j>=1;j--)cout<<x[j-1];//倒序输出
                      }
                      
                      • 0
                        @ 2022-7-12 16:06:37
                        using namespace std;
                        const int R=99999;
                        int a[R],p[R],x[R],y[R];
                        int main(){
                        	char n;
                        	int sum=0,c=0,h,f,l,v=0;
                        	while(cin>>n){
                        		h=n;
                        		f=h-'0';
                        		sum++;
                        		a[sum]=f; 
                        	}
                        	for(int i=sum;i>=1;i--){
                        		x[sum-i]=a[i];
                        	}
                        	int b=0;
                        	for(int k=0;k<=sum-1;k++){
                        		b+=x[k]*pow(2,c);
                        		c++;
                        	}
                            while(b>0){
                            	v++;
                            	p[v]=b%16;
                            	b=b/16;
                        	} 
                        	for(int e=v;e>=1;e--){
                        		y[v-e]=p[e];
                        	}
                        	for(int u=0;u<=v;++u){
                        		if(y[u]<10&&y[u]!=0){
                        			cout<<y[u];
                        		}
                        		else if(y[u]>=10){
                        			int o=y[u]+55;
                        			char s=o;
                        			cout<<s;
                        		}
                        	}
                        	return 0;
                        }
                        
                        • 0
                          @ 2022-7-12 15:37:46
                          using namespace std;
                          int main(){
                          	string a,b="0123456789ABCDEF",c;int len,m,s=0,out=0,i=0;
                          	cin>>a;
                          	len=a.length();
                          	for(m=0;m<len;m++){
                          		if(a[m]=='1'){
                          			s+=pow(2,len-m-1);
                          		}
                          	}		//先转十进制
                          	while(s>0){
                          		if(s%16==10){
                          			c[i]='A';
                          		}
                          		else if(s%16==11){
                          			c[i]='B';
                          		}
                          		else if(s%16==12){
                          			c[i]='C';
                          		}
                          		else if(s%16==13){
                          			c[i]='D';
                          		}
                          		else if(s%16==14){
                          			c[i]='E';
                          		}
                          		else if(s%16==15){
                          			c[i]='F';
                          		}
                          		else{
                          			c[i]=s%16+'0';
                          		}
                          		s/=16;
                          		i++;
                          	}
                          	for(i=i-1;i>=0;i--){
                          		cout<<c[i];
                          	}
                          	return 0;
                          }
                          
                        • -1
                          @ 2025-4-20 17:18:39
                          x=input()
                          s=0
                          for i in range(len(x)):
                              s+=int(x[i])*2**(len(x)-1-i)
                          m = ""
                          k='123456789ABCDEF'
                          n=int(s)   
                          while n!=0:
                              r = n%16
                              m=k[r-1]+m
                              n = n//16
                          print(m)   
                          
                          • -1
                            @ 2024-7-15 17:23:02
                            #include<bits/stdc++.h>
                            using namespace std;
                            int main()
                            {
                            	string s1,s2;
                            	string pos="0123456789ABCDEF";
                            	cin>>s1;
                            	int k=0,t=0;
                            	for(int i=s1.length()-1;i>=0;i--)
                            	{
                            		t+=(s1[i]-'0')*pow(2,k);
                            		if(k==3)
                            		{
                            			s2=pos[t]+s2;
                            			t=0;
                            			k=-1;
                            		}
                            		k++;
                            	}
                            	if(t>0)
                            		{
                            			s2=pos[t]+s2;
                            		}
                            	cout<<s2<<endl;
                            	return 0;
                            }
                            
                            • -2
                              @ 2025-4-30 11:45:32
                              s=input()
                              ans=0
                              for i in range(len(s)):
                                  ans=ans*2+int(s[i])
                              
                              a=""
                              while ans!=0:
                                  y=ans%16
                                  if y>=10:
                                      a=chr(55+y)+a
                                  else:
                                      a=str(y)+a
                                  ans=ans//16
                                  
                              print(a)
                              
                            • -3
                              @ 2022-7-12 20:59:33

                              #include<bits/stdc++.h>

                              using namespace std;

                              int main(){

                              string s;

                              for(int i;i<=length()-1;i++)

                              ** **char b=s[i];
                              
                                ** **if(i=0&&b<8)
                              
                                ** **{
                              
                                       ** **if(i=0)
                              

                              {

                              ** **i++;
                              
                                       ** **      ** **if(b=’1’)
                              
                                       ** **             ** **cout<<01;
                              
                                ** **             ** **if(b=’2’)
                              
                                              ** **cout<<10;
                              
                                       ** **if(b=’3’)
                              
                                              ** **cout<<11;
                              
                                       ** **if(b=’4’)
                              
                                              ** **cout<<100;
                              
                                       ** **if(b=’5’)
                              
                                              ** **cout<<101;
                              
                                       ** **if(b=‘6’)
                              
                                              ** **cout<<110;
                              
                                       ** **if(b=’7’)
                              
                                              ** **cout<<111;
                              
                                ** **cif(b=’8’)
                              
                                              ** **cout<<1000;
                              
                                       ** **if(b=’9’)
                              
                                              ** **cout<<1001;
                              
                                       ** **if(b=’A’)
                              
                                              ** **cout<<1010;
                              
                                       ** **if(b=’B’)
                              
                                              ** **cout<<1011;
                              
                                       ** **if(b=’C’)
                              
                                              ** **cout<<1110;
                              
                                       ** **if(b=’D’)
                              
                                              ** **cout<<1111;
                              
                                       ** **if(b=’E’)
                              
                                              ** **cout<<10000;
                              
                                       ** **if(b=’F’)
                              
                                              ** **cout<<10001;
                              
                                ** **      ** **}
                              
                                       ** **else
                              
                                       ** **{
                              
                                              ** **if(b=’1’)
                              
                                       ** **             ** **cout<<0001;
                              
                                ** **             ** **if(b=’2’)
                              
                                              ** **cout<<0010;
                              
                                       ** **if(b=’3’)
                              
                                              ** **cout<<0011;
                              
                                       ** **if(b=’4’)
                              
                                              ** **cout<<0100;
                              
                                       ** **if(b=’5’)
                              
                                              ** **cout<<0101;
                              
                                       ** **if(b=‘6’)
                              
                                              ** **cout<<0110;
                              
                                       ** **if(b=’7’)
                              
                                              ** **cout<<0111;
                              
                                       ** **if(b=’8’)
                              
                                              ** **cout<<1000;
                              
                                       ** **if(b=’9’)
                              
                                              ** **cout<<1001;
                              
                                       ** **if(b=’A’)
                              
                                              ** **cout<<1010;
                              
                                       ** **if(b=’B’)
                              
                                              ** **cout<<1011;
                              
                                       ** **if(b=’C’)
                              
                                              ** **cout<<1110;
                              
                                       ** **if(b=’D’)
                              
                                              ** **cout<<1111;
                              
                                       ** **if(b=’E’)
                              
                                              ** **cout<<10000;
                              
                                       ** **if(b=’F’)
                              
                                              ** **cout<<10001;
                              

                              } ** **

                              return 0;

                              }

                              • 1

                              进制转换(二进制转十六进制)

                              信息

                              ID
                              749
                              时间
                              1000ms
                              内存
                              256MiB
                              难度
                              5
                              标签
                              (无)
                              递交数
                              1875
                              已通过
                              684
                              上传者