栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 1220 NUMBER BASE CONVERSION

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 1220 NUMBER BASE CONVERSION

#include <cstdio>#include <cstring>#include <cstdlib>#include <iostream>#define N 10000using namespace std;char cao[1000]={"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"};struct BIGN{    int a[N];}ans;int n,p,mod[N],hash[N],m,tt;char s[10000];inline void prt(BIGN &a){    for(int i=a.a[0];i>=1;i--) printf("%d ",a.a[i]);    puts("");}inline BIGN operator %(BIGN a,int md){    BIGN c;    memset(c.a,0,sizeof c.a);    c.a[0]=a.a[0];    int ys=0;    for(int i=a.a[0];i>=1;i--)    {        ys=a.a[i]+ys*n;        c.a[i]=ys/md;        ys%=md;    }    mod[++p]=ys;    while(c.a[0]>1&&c.a[c.a[0]]==0) c.a[0]--;    return c;}void prev(){    for(int i=0;i<62;i++) hash[cao[i]]=i;}void change(){    memset(ans.a,0,sizeof ans.a);    ans.a[0]=strlen(s+1);    for(int i=1;i<=ans.a[0];i++) ans.a[i]=hash[s[ans.a[0]-i+1]];}inline bool check(BIGN &c){    if(c.a[0]==1&&c.a[1]==0) return false;    else return true;}void go(){    scanf("%d%d%s",&n,&m,s+1);    printf("%d %sn%d ",n,s+1,m);    change();    p=0;    while(check(ans)) ans=ans%m;    if(p) while(p) printf("%c",cao[mod[p--]]);    else printf("0");    puts("");    puts("");}int main(){    prev();    scanf("%d",&tt);    while(tt--) go();    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/375877.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号