2 条题解

  • 1

    用栈就好啦~~

    注意,16进制需要特殊转换,所以开数组;

    #include<bits/stdc++.h>
    using namespace std;
    stack<int>s;
    char a[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    long long n,t;
    int main(){
    	cin>>n>>t;
    	while(n){
    		s.push(n%t);
    		n/=t;
    	}
    	while(!s.empty()){
    		cout<<a[s.top()];
    		s.pop();
    	}
    	cout<<endl;
    	return 0;
    }
    
    
    • 0
      @ 2024-11-24 22:55:52
      #include<bits/stdc++.h>
      using namespace std;
      char ch[6]={'A','B','C','D','E','F'};
      int jz(int n,int m)
      {
      	int x[1000],i,d=0;
      	while(n!=0)
      	{
      		d++;
      		i=n%m;
      		n/=m;
      		x[d]=i;
      	}
      	for(int j=d;j>=1;j--)
      	{
      		if(x[j]<10)
      		{
      			cout<<x[j];
      	    }
      	    else
      	    {
      	    	cout<<ch[x[j]-10];
      		}
      	}
      }
      int main()
      {
      	int n,m;
      	cin>>n>>m;
      	jz(n,m);
      	return 0;
      }
      
      • 1

      信息

      ID
      206
      时间
      1000ms
      内存
      256MiB
      难度
      6
      标签
      递交数
      28
      已通过
      12
      上传者