zoukankan      html  css  js  c++  java
  • acwing791. 高精度加法

    给定两个正整数(不含前导 0),计算它们的和。

    输入格式

    共两行,每行包含一个整数。

    输出格式

    共一行,包含所求的和。

    数据范围

    1≤整数长度≤100000

    输入样例:

    12
    23
    

    输出样例:

    35
    

    方法一:

    模拟手算

    将结果存在保存较长数字的那个数组中,代码比较丑陋,其中c存进位,p存当前位

    #include <bits/stdc++.h>
    using namespace std;
    
    char a[100010], b[100010];
    const int z2 = '0' * 2;
    
    int main() {
        scanf("%s%s", &a, &b);
        int la = strlen(a) - 1, lb = strlen(b) - 1, c = 0;
        bool is = la > lb;
        for (; la >= 0 && lb >= 0; la--, lb--) {
            int p = a[la] + b[lb] + c - z2;
            c = p / 10; p %= 10;
            if (is) a[la] = p + '0'; else b[lb] = p + '0';
        }
        if (is) {
            while (la >= 0 && c > 0) {
                int p = a[la] + c - '0';
                c = p / 10; p %= 10;
                a[la--] = p + '0';
            }
            if (la < 0 && c > 0) printf("1%s", a); else printf("%s", a);
        } else {
            while (lb >= 0 && c > 0) {
                int p = b[lb] + c - '0';
                c = p / 10; p %= 10;
                b[lb--] = p + '0';
            }
            if (lb < 0 && c > 0) printf("1%s", b); else printf("%s", b);
        }
    }
    
  • 相关阅读:
    oracle 编译无效对象
    nginx配置监控
    Docker底层技术
    KVM入门
    maven 忽略checkstyle
    Java 使用 UnixSocket 调用 Docker API
    unix-socket-implementation-for-java
    NVIDIA Physix Unity3D
    Mobile Prototype Dev Res Collection(Unity原型开发资源储备)
    Unity抗锯齿
  • 原文地址:https://www.cnblogs.com/nosae/p/15821726.html
Copyright © 2011-2022 走看看