zoukankan      html  css  js  c++  java
  • B进制星球(luogu 1604)

    题目背景

    进制题目,而且还是个计算器~~

    题目描述

    话说有一天,小Z乘坐宇宙飞船,飞到一个美丽的星球。因为历史的原因,科技在这个美丽的星球上并不很发达,星球上人们普遍采用B(2<=B<=36)进制计数。星球上的人们用美味的食物招待了小Z,作为回报,小Z希望送一个能够完成B进制加法的计算器给他们。 现在小Z希望你可以帮助他,编写实现B进制加法的程序。

    输入输出格式

    输入格式:

     

    共3行第1行:一个十进制的整数,表示进制B。第2-3行:每行一个B进制数正整数。数字的每一位属于{0,1,2,3,4,5,6,7,8,9,A,B……},每个数字长度<=2000位。

     

    输出格式:

     

    一个B进制数,表示输入的两个数的和。

     

    输入输出样例

    输入
    4
    123
    321
    
    输出
    1110

    说明

    进制计算器


    已经忘了怎么写高精度了……

    但还是得会啊,不然某些题非要你用啊

    code

    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    using namespace std;
    char al[2100],bl[2100];
    int n,la,lb,lc,x,a[2100],b[2100],c[21000];
    
    inline void read() {
        scanf("%s",al);
        la=strlen(al);
        for(int i=0;i<la;++i) {
            if(al[i]>='0' && al[i]<='9') 
                a[la-i]=al[i]-'0';
            else
                a[la-i]=al[i]-'A'+10;
        }
        scanf("%s",bl);
        lb=strlen(bl);
        for(int i=0;i<lb;++i) {
            if(bl[i]>='0' && bl[i]<='9') 
                b[lb-i]=bl[i]-'0';
            else 
                b[lb-i]=bl[i]-'A'+10;    
        }
    } 
    
    void add() 
    {
        lc=1,x=0;
        while(lc<=la || lc<=lb) {
            c[lc]=a[lc]+b[lc]+x;
            x=c[lc]/n;
            c[lc]%=n;
            lc++;
        }
        c[lc]=x;
        if(c[lc]==0) lc--;
    }
    
    void print() {
        for(int i=lc;i>=1;--i) {
            if(c[i]<=9) 
                printf("%d",c[i]);
             else 
                 printf("%c",c[i]-10+'A');
        }
    }
    
    int main() 
    {
        scanf("%d",&n);
        read();
        add();
        print();
        return 0;
    }
    /*
    16
    ABC
    123
    */
  • 相关阅读:
    函数柯里化
    常用正则
    校验table行内的form编辑
    前端代码 读取excel表格数据
    cocos2d-x 帧动画学习
    Linux 下vim配置
    Android开发笔记 二
    cocos2d-x CCDictionary类学习
    Android开发笔记
    Cococs2d-x移植到Window下的问题
  • 原文地址:https://www.cnblogs.com/qseer/p/9804547.html
Copyright © 2011-2022 走看看