美文网首页
大数相减

大数相减

作者: Icestains | 来源:发表于2017-05-12 17:24 被阅读0次

Give you two numbers A and B.

Your job is to calculator the result of A - B.

A, B is ranged from 0 ~ 10^100. (guarantee that A >= B)

Sample Input

3 2

1000000000000001 1

216360262764328698547112181349539426958555975 68359881780472809198305272

Sample Output

1

1000000000000000

216360262764328698478752299569066617760250703

code

#include <iostream>
#include <string>
using namespace std;

void process(string&a, string&b)
{
    int p[200] = { 0 };
    int q[200] = { 0 };
    int cura = 0,curb = 0;

    for (int i = a.length() - 1; i >= 0; i--)//复制a数组
    {
        p[cura] = a[i]-'0';
        cura++;
    }

    for (int i = b.length() - 1; i >= 0; i--)//复制b数组
    {
        q[curb] = b[i]-'0';
        curb++;
    }

    int cur = 0;

    while (cur < 199)//从末尾开始相减,并处理特殊情况
    {
        p[cur] -= q[cur];
        if (p[cur] < 0)
        {
            p[cur + 1]--;
            p[cur] += 10;
        }
        cur++;
    }

    for ( ; cur >= 0; cur--)//从头查找第一个不是0的数字
        if (p[cur] != 0) break;

    for ( ; cur >= 0; cur--)//从第一个不是0的数字开始打印
        cout << p[cur];

    cout << endl;
}

int main()
{
    string a, b;

    while (cin >> a >> b)
    {
        process(a, b);
    }

    return 0;
}

cpp文件在这里

相关文章

  • 大数相减

    Give you two numbers A and B.Your job is to calculator th...

  • 大数相乘、大数相加、大数相减(Java版)

    大数相乘 假设有A和B两个大数,位数分别为a和b。根据我们平常手动计算乘法的方式可以看出,最终的结果的位数c一定小...

  • [4/30]MIOJ刷题:大数相减

    重阳节快乐! 独自莫凭栏, 今天没登高. 大数相减[https://code.mi.com/problem/lis...

  • 字符串模拟大数运算

    大数加法 写的有些复杂----,不过是对的 简易版本 大数减法 有bug啊啊啊啊,只能两个正整数相减,且被减数小于...

  • 2019-11-17

    ##大整数题 整体套路还是字符串模拟 ###加法 首先判断大数的符号: 1.同号相加,异号相减 ```c //判断...

  • 杭电ACM-2104

    题目: 此代码运用了更相减损术,通过 两数相减的差 与 被减数 不断相减,直到两数相减的差与被减数相同,即此时这2...

  • 数值运算中值得注意的事项

    (1)要避免两个相近的数相减。(2)防止大数吃掉小数。(3)防止接近零的数作除数。(4)减少运算次数。(5)防止舍...

  • 没多大出息,但内心安定~我的2017那些值得被写下的事

    年底是算账的时候,进账和出账相减,得到盈收账单;快乐和悲伤相减,得到情绪账单;优点和缺点相减,得到成长账单…… 账...

  • 错位相减法

    错位相减法

  • 数列大题错位相减一分钟巧解

    数列大题第二问,经常考察的点是错位相减,列项相消。错位相减,主要是考察的计算能力,错位相减比较简单计算的需要五分钟...

网友评论

      本文标题:大数相减

      本文链接:https://www.haomeiwen.com/subject/voqtxxtx.html