加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

$Poj1220/AcWing124\ Number\ Base\ Co

发布时间:2020-12-16 09:19:03 所属栏目:百科 来源:网络整理
导读:$Poj$ ? $AcWing$ ? $Description$ ? $Sol$ 进制转化+高精度除法 $over$ ? $Code$ #includebits/stdc++.h #define il inline #define Rg register #define go(i,a,b) for(Rg int i=a;i=b;++i) #define yes(i,b) for(Rg int i=a;i=b;--i) #define mem(a,b) me

$Poj$ ? $AcWing$

?

$Description$

?

$Sol$

进制转化+高精度除法

$over$

?

$Code$

#include<bits/stdc++.h>
#define il inline
#define Rg register
#define go(i,a,b) for(Rg int i=a;i<=b;++i)
#define yes(i,b) for(Rg int i=a;i>=b;--i)
#define mem(a,b) memset(a,b,sizeof(a))
#define ll long long
#define db double
using namespace std;
il int read()
{
    Rg int x=0,y=1;char c=getchar();
    while(c<0||c>9){if(c==-)y=-1;c=getchar();}
    while(c>=0&&c<=9){x=(x<<1)+(x<<3)+c-0;c=getchar();}
    return x*y;
}
const int N=1010;
int T,n,ct,d[N],as[N];
int main()
{
    T=read();
    while(T--)
    {
        ct=0;a=read(),b=read();
        string s;cin>>s;n=s.length();
        go(i,1,n)
        {
            char c=s[i-1];
            if(c>=0 && c<=9)d[n-i+1]=c-0;
            if(c>=A && c<=Z)d[n-i+1]=c-A+10;
            if(c>=a && c<=z)d[n-i+1]=c-a+36;
        }
        while(n)
        {
            yes(i,2){d[i-1]+=d[i]%b*a;d[i]/=b;}
            as[++ct]=d[1]%b;d[1]/=b;
            while(n && !d[n])n--;
        }
        printf("%d ",a);cout<<s<<endl;printf("%d ",b);
        yes(i,1)
        {
            Rg int c=as[i];
            if(c>=0 && c<=9)printf("%d",c);
            if(c>=10 && c<=35)printf("%c",(char)(c-10+A));
            if(c>=36 && c<=61)printf("%c",(char)(c-36+a));
        }
        printf("nn");
    }
    return 0;
}
View Code

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读