51nod 1027 大数乘法

Posted 8023spz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51nod 1027 大数乘法相关的知识,希望对你有一定的参考价值。

给出2个大整数A,B,计算A*B的结果。
 

输入

第1行:大数A
第2行:大数B
(A,B的长度 <= 1000,A,B >= 0)

输出

输出A * B

输入样例

123456
234567

输出样例

28958703552
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define MAX 50000
#define DMAX 10000
using namespace std;
typedef long long ll;
char a[1005],b[1005];
char ans[2005];
int main() {
    scanf("%s%s",a,b);
    int d = 0,alen = strlen(a),blen = strlen(b);
    for(int i = 0;a[i];i ++) {
        for(int j = 0;b[j];j ++) {
            d += (a[alen - 1 - i] - 0) * (b[blen - 1 - j] - 0);
            if(ans[i + j]) d += ans[i + j] - 0;
            ans[i + j] = d % 10 + 0;
            d /= 10;
        }
        if(d) {
            ans[i + blen] = d + 0;
            d = 0;
        }
    }
    reverse(ans,ans + strlen(ans));
    printf("%s",ans);
}

 

以上是关于51nod 1027 大数乘法的主要内容,如果未能解决你的问题,请参考以下文章

51 Nod 1027 大数乘法Java大数乱搞

51nod 1027 大数乘法

模板大数乘法(51nod 1027)

大数相乘 51nod 1027 水题

[51nod] 1028 大数乘法v2

51 Nod 1028 大数乘法 V2Java大数乱搞