zoukankan      html  css  js  c++  java
  • 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
    %d %s
    
    ", n, str1, m, str2);
        }
        return 0;
    }
    


  • 相关阅读:
    tcp笔记
    sublime使用技巧
    mysql笔记
    ubuntu安装mysql
    正则表达式笔记
    网络编程笔记
    swoole安装异步reids
    mysql的时间存储格式
    nginx环境的搭建
    php的闭包函数use的使用
  • 原文地址:https://www.cnblogs.com/pangblog/p/3271045.html
Copyright © 2011-2022 走看看