加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

大数相减C++实现

发布时间:2020-12-14 02:41:14 所属栏目:大数据 来源:网络整理
导读:#includeiostream#includevectorusing namespace std;int main(){ string s1,s2; cins1s2; int len1=s1.size(); int len2=s2.size(); int bit=0; int k=0; vectorintvi; int t=0; int i=0,j=0; for( i=len1-1,j=len2-1;i=0j=0;i--,j--) { t=s1[i]-'0'-(s2[j]
#include<iostream>
#include<vector>
using namespace std;
int main()
{
    string s1,s2;
    cin>>s1>>s2;
    int len1=s1.size();
    int len2=s2.size();
    int bit=0;
    int k=0;
    vector<int>vi;
    int t=0;
    int i=0,j=0;
    for( i=len1-1,j=len2-1;i>=0&&j>=0;i--,j--)
    {
        t=s1[i]-'0'-(s2[j]-'0')-bit;
        if(t<0)
        {
            bit=1;
            vi.push_back(t+10);
        }
        else
        {
            bit=0;
            vi.push_back(t);
        }
    }
    while(i>=0)
    {
        t=s1[i]-'0'-bit;
        if(t<0)
        {
            bit=1;
            vi.push_back(t+10);
        }
        else
        {
            bit=0;
            vi.push_back(t);
        }
        i--;
    }
    while(j>=0)
    {
        t=10-bit-(s2[j]-'0');
        vi.push_back(t);
        j--;
    }
    if(bit==1)
    {
        vi[0]=10-vi[0];
        for(int k=1;k<vi.size();k++)
        {
            vi[k]=10-vi[k]-bit;
        }
    }
    if(bit==1)
    cout<<"-";
    for(int c=vi.size()-1;c>=0;c--)
    {
        cout<<vi[c];
    }
    cout<<endl;
    
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读