• SPOJ 362 Ignore the Garbage 转7进制+简单大数除法


    显然正着倒着看仍然是数字的只有7个数:0,1,2,5,6,8,9

    所以就是用这7个数组合成不同的数。

    将n转换成7进制,对应位输出即可。

    #include <cstdio>
    #include <cstring>
    #include <cstdlib>
    #include <algorithm>
    
    using namespace std;
    
    const char num[] = "0125986";
    const int MAXN = 1010;
    const int BASE = 7;
    
    char str[MAXN];
    int a[MAXN];
    int b[MAXN];
    int ans[MAXN];
    int cnt, len;
    
    bool check()
    {
        for ( int i = 0; i < len; ++i )
            if ( a[i] ) return true;
        return false;
    }
    
    void Mod()
    {
        int tmp = 0;
        for ( int i = 0; i < len; ++i )
        {
            tmp = tmp * 10 + a[i];
            b[i] = tmp / BASE;
            tmp %= BASE;
        }
        ans[cnt++] = tmp;
    
        int i = 0, j;
        while ( i < len && b[i] == 0 ) ++i;
        for ( j = 0; i < len; ++i, ++j )
            a[j] = b[i];
        len = j;
    
        return;
    }
    
    int main()
    {
        int T;
        scanf( "%d", &T );
        while ( T-- )
        {
            scanf( "%s", str );
            len = strlen(str);
            cnt = 0;
            for ( int i = 0; i < len; ++i )
                a[i] = str[i] - '0';
    
            while ( check() ) Mod();
    
            for ( int i = 0; i < cnt; ++i )
                putchar( num[ ans[i] ] );
    
            puts("");
        }
        return 0;
    }
  • 相关阅读:
    计算属性computed和watch侦听器
    .gitignore不起作用
    flex 布局
    vue-awesome-swiper
    Chrome截长屏
    JS 数组 foreach 和 map
    for-in 和 for
    边框画的三角形给shadow
    element-UI 表单图片判空验证问题
    Vue 表格内容根据后台返回状态位填充文字
  • 原文地址:https://www.cnblogs.com/GBRgbr/p/3248570.html
Copyright © 2020-2023  润新知