zoukankan      html  css  js  c++  java
  • 【Luogu2142】【模板】高精度减法

    problem

    solution

    codes

    //高精减法
    //高精度的本质,用长度无限的数组或字符串代替int
    //原理:模拟减法退位
    #include<iostream>
    #include<algorithm>
    #include<string>
    using namespace std;
    const int maxn = (int)1e6+10;
    int a[maxn],b[maxn],c[maxn], flag;
    int main(){
        string s1, s2;
        cin>>s1>>s2;
        if(s1 == s2){ cout<<0<<endl; return 0; }
        if(s1.size()<s2.size() || (s1.size()==s2.size()&&s1<s2)){ swap(s1,s2); flag = 1; }//教训,字符串比较只比较字典序
        a[0] = s1.size(); b[0] = s2.size();
        for(int i = 1; i <= a[0]; i++)a[i] = s1[a[0]-i]-'0';
        for(int i = 1; i <= b[0]; i++)b[i] = s2[b[0]-i]-'0';
        c[0] = max(a[0],b[0])+1;
        for(int i = 1; i <= c[0]; i++){
            c[i] += a[i]-b[i];
            if(c[i] < 0){
                c[i] += 10;
                c[i+1]--;
            }
        }
        while(c[0]>1 && c[c[0]]==0)c[0]--;
        if(flag)cout<<"-";
        for(int i = c[0]; i >= 1; i--)
            cout<<c[i];
        cout<<"
    ";
        return 0;
    }
  • 相关阅读:
    jquery 初篇
    python作用域和js作用域的比较
    javascript作用域
    第三篇、dom操作续
    dom事件
    第二篇 dom内容操作之value
    第三篇、变量
    第二篇、常量
    Node.js
    测试用例
  • 原文地址:https://www.cnblogs.com/gwj1314/p/9444670.html
Copyright © 2011-2022 走看看