高精度减法

对A==B的情况特判
保证A > B,否则进行调换
a,b,c数组均要初始化为0。

#include <iostream>
#include <string>
#include <cmath>
#include <map>
#include <cstring>
#include <algorithm>
using namespace std;

bool IsNegative(string &A, string &B)
{
    if (A.size() > B.size()) {
        return false;
    }
    else if (A.size() < B.size()) {
        return true;
    }
    else {
        return A > B ? false : true;
    }
}
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    
    string A, B;
    cin >> A >> B;
    if (A == B) {
        cout << 0 << endl;
        return 0;
    }
    bool nega_flag = IsNegative(A, B);
    if (nega_flag) {
        A.swap(B);
    }
    int len_A = A.size(), len_B = B.size(), len = max(len_A, len_B);
    int a[len], b[len], c[len];
    memset(a, 0, sizeof(a));
    memset(b, 0, sizeof(b));
    memset(c, 0, sizeof(c));
    for (int i = len_A - 1; i >= 0; i--) {
        a[len_A - 1 - i] = A[i] - '0';
    }
    for (int i = len_B - 1; i >= 0; i--) {
        b[len_B - 1 - i] = B[i] - '0';
    }
    for (int i = 0; i < len - 1; i++) {
        c[i + 1]--; 
        c[i] += a[i] + 10 - b[i];
        c[i + 1] += c[i] / 10;
        c[i] %= 10;
    }
    c[len - 1] += a[len - 1] - b[len - 1];
    for (int i = len - 1; c[i] == 0; i--) {
        len--;
    }
    if (nega_flag) {
        cout << '-';
    }
    for (int i = len - 1; i >= 0; i--) {
        cout << c[i];
    }
    cout << endl;
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
水利改革发展 中国政府高度重视水利建设,将水利作为国家基础设施建设的优先领域。政策文件强调了防洪抗旱、水资源管理、水环境保护和水生态修复等方面的全面要求,推动了水利信息化的发展。 智慧水利建设目标 智慧水利的建设目标是通过数据共享、应用惠民、应急预警等手段,打破信息孤岛,提升应急抢险协作能力,加强水利数据在惠民信息化方面的应用。同时,提出了共享联动化、解决信息安全问题、提高水利信息科技创新能力等目标。 智慧水利建设模式 智慧水利的建设模式包括构建统一平台、数据中心、信息整合平台、决策支持系统等,以实现水利、海洋、环保等政府部门和公众的信息共享和服务。此外,还包括了云计算虚拟化、网络传输、采集工程等多个方面的技术应用。 智慧水利应用实例 智慧水利的应用实例包括视频水文工程监控、多要素一体化检测设备、汛情预警智能联动、三防决策指挥、河长综合信息展示等。这些应用通过集成GIS、互联网地图服务、物联网设备等技术,实现了对水利设施的实时监控、数据分析和应急响应。 成功案例与展望 智慧水利的成功案例展示了通过视频监控、预警信息发布、移动办公信息APP等技术,有效提升了灾害应对能力、水资源管理和河长制的实施效果。这些案例表明,智慧水利的建设不仅提高了水利管理的效率和水平,也为未来的水利信息化发展提供了方向。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值