POJ 1220 ?????????/????????????
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POJ 1220 ?????????/????????????相关的知识,希望对你有一定的参考价值。
?????????????????? put int namespace iostream names ?????? printf max
n?????????m????????????????????????????????????????????????????????????????????????????????????:
????????????????????????
for(int k=0;l; ){ for(int i=l ; i>=1 ; i--){ num[i - 1] += num[i] % m * n; num [i] / =m; } num[k++]=num[0] % m; num[0] /= m; while( l > 0&& num[ l - 1]==0) l--; }
AC???????????????
#include<cstdio> #include<algorithm> #include<cstring> #include<map> #include<iostream> using namespace std; const int maxn=1200; map<char,int> no; map<int,char> output; int num[maxn],num1[maxn]; char s[maxn]; int main(){ for(int i=???0???,j=0;i<=???9???;i++,j++) no[i]=j,output[j]=i; for(int i=???A???,j=10;i<=???Z???;i++,j++) no[i]=j,output[j]=i; for(int i=???a???,j=36;i<=???z???;i++,j++){ no[i]=j,output[j]=i; } int n,m,k,t; cin>>t; while(t--){ cin>>n>>m; scanf("%s",s); int l=strlen(s); for(int i=0;i<l;i++){ num[l-i-1]=no[s[i]]; } for(k=0;l;){ for(int i=l;i>=1;i--){ num[i-1]+=num[i]%m*n; num[i]/=m; } num1[k++]=num[0]%m; num[0]/=m; while(l>0&&num[l-1]==0)l--; } printf("%d ",n); printf("%s ",s); printf("%d ",m); for(int i=k-1;i>=0;i--) printf("%c",output[num1[i]]); cout<<" "<<endl; } }
??????
以上是关于POJ 1220 ?????????/????????????的主要内容,如果未能解决你的问题,请参考以下文章
$Poj1220/AcWing124 Number Base Convertion$ 进制转换+高精除