题目:
给你n位bx进制的数X和m位by进制的数Y,问你X大于、等于、小于Y。
思路:
将X、Y都转为10进制进行比较。
#include<cstdio>
typedef __int64 LL;
const int MAX=45;
int nx;
LL X,bx[MAX];
int ny;
LL Y,by[MAX];
int main(){
scanf("%d%I64d",&nx,&X);
for(int i=1;i<=nx;i++){
scanf("%I64d",&bx[i]);
}
LL ansx=0,tmpx=1;
for(int i=nx;i>=1;i--){
ansx+=bx[i]*tmpx;
tmpx*=X;
}
scanf("%d%I64d",&ny,&Y);
for(int i=1;i<=ny;i++){
scanf("%I64d",&by[i]);
}
LL ansy=0,tmpy=1;
for(int i=ny;i>=1;i--){
ansy+=by[i]*tmpy;
tmpy*=Y;
}
if(ansx==ansy) printf("=\n");
else if(ansx<ansy) printf("<\n");
else printf(">\n");
return 0;
}