zoukankan      html  css  js  c++  java
  • UVALive2245 POJ1131 HDU1376 ZOJ1086 Octal Fractions【进制】

    Regionals 2001 >> Africa/Middle East - South Africa


    问题链接UVALive2245 POJ1131 HDU1376 ZOJ1086 Octal Fractions

    问题简述:参见上述链接。

    问题分析:这是一个小数部分进制转换问题,是一种套路,需要根据进制原理进行计算。

    有关进制转换,分为两种情况,一是整数进制转换,二是小数进制转换。一个数如果既有整数又有小数,那么要进行进制转换,则需要分别转换然后在合起来。整数进制转换可以参照函数itoa()的原理实现。

    程序说明:(略)。


    AC的C++语言程序如下:

    /* UVALive2245 POJ1131 HDU1376 ZOJ1086 */
    
    #include <iostream>
    #include <cstring>
    
    using namespace std;
    
    const int BASE10 = 10;
    const int BASE8 = 8;
    const int MAXN = 1024;
    
    char s[MAXN];
    int ans[MAXN];
    
    int main(void)
    {
        int len, digit, t, j, k;
    
        while(cin >> s) {
            memset(ans, 0, sizeof(ans));
    
            t = 0;
            len = strlen(s);
            for(int i=len-1; i>1; i--) {
                digit = s[i] - '0';
                j = 0;
                k = 0;
                while(j<t || digit) {
                    digit = digit * BASE10 + ans[j++];
                    ans[k++] = digit / BASE8;
                    digit %= BASE8;
                }
                t = k;
            }
    
            cout<< s << " [" << BASE8 << "] = 0." ;
            for(int i=0; i<t; i++)
                cout << ans[i];
            cout << " [" << BASE10 << "]" << endl;
        }
    
        return 0;
    }


  • 相关阅读:
    Python全栈开发之6、面向对象
    Python全栈开发之5、模块
    kvm恢复和删除快照
    virsh命令和虚拟机克隆
    Python全栈开发之4、迭代器、生成器、装饰器
    索引
    字段属性--唯一键
    安装虚拟机
    字段属性--自增长
    centos7安装kvm
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7563937.html
Copyright © 2011-2022 走看看