题意:
裸的高精度取余。
分析:
http://blog.csdn.net/sepnine/article/details/44092055有poj 1220任意进制转换的代码,这题用到其中的一部分,可作对比。
代码:
//poj 2305 //sep9 #include <iostream> using namespace std; int b,m; char s1[1024],s2[16],ans[16]; int p[1024]; int main() { while(scanf("%d",&b)==1&&b){ scanf("%s%s",s1,s2); int k,i; k=strlen(s2); for(m=i=0;i<k;++i) m=m*b+s2[i]-'0'; k=strlen(s1); for(i=k-1;i>=0;--i) p[k-1-i]=s1[i]-'0'; for(i=k-1;i>0;--i){ p[i-1]+=p[i]%m*b; p[i]/=m; } int l=0,a=p[0]%m; if(!a){ puts("0"); continue; } while(a){ ans[l++]=a%b; a/=b; } for(i=l-1;i>=0;--i) printf("%d",ans[i]); puts(""); } return 0; }
原文地址:http://blog.csdn.net/sepnine/article/details/46562599