• 【洛谷P1601 A+B Problem(高精)】


    题目背景

    题目描述

    高精度加法,x相当于a+b problem,[b][color=red]不用考虑负数[/color][/b]

    输入输出格式

    输入格式:

    分两行输入a,b<=10^500

    输出格式:

    输出只有一行,代表A+B的值

    输入输出样例

    输入样例#1: 
    1
    1
    输出样例#1: 
    2
    又是高精,运用加法:
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<iomanip>
    #include<string>
    #include<algorithm>
    #include<cstdlib>
    using namespace std;
    int main()
    {
        char a1[500],b1[500];
        int a[500],b[500],c[500],lena,lenb,lenc,i,x;
        memset(a,0,sizeof(a));
        memset(b,0,sizeof(b));
        memset(c,0,sizeof(c));
        scanf("%s",a1);
        scanf("%s",b1);
        lena=strlen(a1);
        lenb=strlen(b1);
        for(i=0;i<=lena-1;i++)
        {
            a[lena-i]=a1[i]-'0';
        }
        for(i=0;i<=lenb-1;i++)
        {
            b[lenb-i]=b1[i]-'0';
        }
        lenc=1;
        x=0;
        while(lenc<=lena||lenc<=lenb)
        {
            c[lenc]=a[lenc]+b[lenc]+x;
            x=c[lenc]/10;
            c[lenc]%=10;
            lenc++;
        }
        c[lenc]=x;
        if(c[lenc]==0)//将多余的0删除
        lenc--;
        for(i=lenc;i>=1;i--)
        cout<<c[i];
        cout<<endl;
        return 0;
    }

    这里的进位仅有一,相对容易理解。

  • 相关阅读:
    Android Studio学习笔记(1)
    2019全国大学生电子设计大赛总结
    包与常用模块
    模块
    迭代器、生成器与递归调用
    叠加多个装饰器与有参数的装饰器。
    装饰器
    控制指针的移动、函数
    字符编码
    python 数据类型之列表、元组、字典、集合
  • 原文地址:https://www.cnblogs.com/gongcheng456/p/10464329.html
Copyright © 2020-2023  润新知