双端队列实现进制转换,求助!
  • 板块P1143 进制转换
  • 楼主isme1
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/10/4 09:13
  • 上次更新2023/11/2 15:56:54
查看原帖
双端队列实现进制转换,求助!
912779
isme1楼主2023/10/4 09:13
#include <bits/stdc++.h>
#define int long long
using namespace std;
map<char,int>p;
map<int,char>ss;
string h="0123456789ABCDEF";
int n,m,t=1,num=0;
string s;
deque<char>q;
signed main()
{
    for(int i=0;i<h.size();i++){
    	p[h[i]]=i;
    	ss[i]=h[i];
    }
    cin>>n;
    cin>>s;
    num=p[s[s.size()-1]];
    for(int i=s.size()-2;i>=0;i--){
         num+=(p[s[i]]*(int)pow(n,t));
         t++;
    }
    cin>>m;
    while(num>0){
    	q.push_front(ss[num%m]);
    	num/=m;
    }
    deque<char>::iterator i;
    for(i=q.end()-1;i>=q.begin();i--){
    	cout<<*i;
    }
	return 0;
}


2023/10/4 09:13
加载中...