poj1220 (高精度任意进制转换)
2013-08-20 20:45
274 查看
http://poj.org/problem?id=1220
高精度任意进制转换
代码是从discuss里找到的,据说是maigo神牛写的。
超精简!!
我自己第一写的时候,还把n进制先转成10进制,然后再从10进制转为m进制。。。
悲催的是写了好长滴,还没调对啊!!!
Code:
高精度任意进制转换
代码是从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; }
相关文章推荐
- poj1220(高精度模版,进制转换)
- POJ1220(高精度进制转换)
- poj1220 (高精度任意进制转换)
- poj1220:高精度进制转换模板题
- C语言 · 高精度乘法
- POJ 1625 Censored! [AC自动机 高精度]
- 高精度——高精度减法
- BZOJ 2822: [AHOI2012]树屋阶梯 [Catalan数 高精度]
- 高精度模板
- 高精度问题 国债
- 基础练习 高精度加法
- 高精度 I - Yet another A + B
- BZOJ 2729 高精度+组合数学
- 数学+高精度——BZOJ1876/Luogu2152 [SDOI2009]SuperGCD
- POJ 3181 Dollar Dayz 完全背包 + 高精度
- BZOJ 2024: [SHOI2009] 舞会 [容斥原理 高精度]
- 关于高精度乘法核心语句
- BZOJ1005 明明的烦恼 (prufer序列 组合数 高精度)
- 带符号的高精度数加减
- HDU 4927 Series 1 ( 组合+高精度)