美文网首页
2980大整数乘法

2980大整数乘法

作者: SUNRISE_05fd | 来源:发表于2018-11-10 15:33 被阅读0次
#include<stdio.h>
#include<string.h>
#define MAX_LEN 200
unsigned an1[MAX_LEN + 10];// 存放乘数1int
unsigned an2[MAX_LEN + 10];//存放乘数2int
unsigned aResult[MAX_LEN*20 + 10];
char szLine1[MAX_LEN + 10];
char szLine2[MAX_LEN + 10];
int main()
{
    gets_s(szLine1);
    gets_s(szLine2);
    int i, j;
    int nLen1 = strlen(szLine1);
    memset(an1, 0, sizeof(an1));//Initialize
    memset(an2, 0, sizeof(an2));
    memset(aResult, 0, sizeof(aResult));
    j = 0;
    for (i = nLen1 - 1; i >= 0; i--)
        an1[j++] = szLine1[i] - '0';//化为数
    int nLen2 = strlen(szLine2);
    j = 0;
    for (i = nLen2 - 1; i >= 0; i--)
        an2[j++] = szLine2[i] - '0';//化为数

    for (i = 0; i < nLen2; i++)
    {
        for (j = 0; j < nLen1; j++)
            aResult[i + j] += an2[i] * an1[j];
    }
    for (i = 0; i < MAX_LEN * 2; i++)
    {
        if (aResult[i] >= 10)
        {
            aResult[i + 1] += aResult[i] / 10;
            aResult[i] %= 10;
        }
    }
    bool bStartOutput = false;
    for (i = MAX_LEN * 2; i >= 0; i--)
        if (bStartOutput)
            printf("%d", aResult[i]);
        else if (aResult[i]) {
            printf("%d", aResult[i]);
            bStartOutput = true;
        }
    if (!bStartOutput)
        printf("0");
    return 0;
}

一次就ac了, 开心

相关文章

  • 大整数乘法

    模拟乘法累加 - 改进 例如:计算98×21,步骤如下 这里唯一要注意的便是进位问题,我们可以先不考虑进位,当所有...

  • 分数乘法(二)教学反思

    分数乘法(二)是在分数乘法一的基础上,继续学习整数乘以分数,但其不同之处在于:分数的乘法一是学习整数乘以分数...

  • 分治法 Divide and Conquer

    解决的最轻,最重,矩阵乘法,大整数乘法以及排序(快速排序,归并算法)。快速傅立叶变换,Karatsuba乘法算法 ...

  • 7. Reverse Integer

    algorithm 判断整数乘法会不会溢出:

  • 分数乘法

    第一讲分数乘法的意义 1、分数乘整数与整数乘法的意义相同。都是求几个相同加数的和的简便运算。 整数乘分数的意义求一...

  • 2980大整数乘法

    一次就ac了, 开心

  • 大整数的乘法

    将n位二进制整数X和Y都分为2段,每段的长为n/2位(为叙述简单,假设n是2的幂) 由此, 这样,X和Y的乘积为 ...

  • Modular multiplicative inverse

    不是很清楚这个应该怎么翻译,暂且就叫模乘法逆吧,定义是整数a在整数m下的模乘法逆为x, 有ax=(mod m) x...

  • 高精度数(大整数)乘法

    大整数乘法 上一期(高精度加法)今天我们来研讨一下高精度乘法。 题目描述:将两个大整数(最多100位)相乘,输出结...

  • 第三章作业

    无符号的整数加法、乘法是mod2^32的加法、乘法; 证明: #include "stdafx.h" #inclu...

网友评论

      本文标题:2980大整数乘法

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