poj1220 (高精度任意进制转换)

发布时间:2017-3-28 8:30:58 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"poj1220 (高精度任意进制转换)",主要涉及到poj1220 (高精度任意进制转换)方面的内容,对于poj1220 (高精度任意进制转换)感兴趣的同学可以参考一下。

http://poj.org/problem?id=1220 高精度任意进制转换 代码是从discuss里找到的,据说是maigo神牛写的。 超精简!! 我自己第一写的时候,还把n进制先转成10进制,然后再从10进制转为m进制。。。 悲催的是写了好长滴,还没调对啊!!! Code: #include <stdio.h> #include <string.h> const int maxn = 1000; int t[maxn], A[maxn]; char str1[maxn], str2[maxn]; int n, m; void solve() { int i, len, k; len = strlen(str1); for(i=len; i>=0; --i) t[len-1-i] = str1[i] -(str1[i]<58 ? 48: str1[i]<97 ? 55: 61); for(k=0; len;) { for(i=len; i>=1; --i) { t[i-1] +=t[i]%m*n; t[i] /= m; } A[k++] = t[0] % m; t[0] /=m; while(len>0&&!t[len-1]) len--; } str2[k] =NULL; for(i=0; i<k; i++) str2[k-1-i] = A[i]+(A[i]<10 ? 48: A[i]<36 ? 55:61); } int main() { int T; // freopen("in.txt","r",stdin); scanf("%d",&T); while(T--) { scanf("%d%d%s",&n, &m, str1); solve(); printf("%d %s\n%d %s\n\n", n, str1, m, str2); } return 0; }

上一篇:hdu - 3660 - Alice and Bob's Trip
下一篇:PHP获取当前日期和时间格式化方法

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款