算法之【大整数乘法】

简介: 前面介绍了大整数的加减法,这次是大整数的乘法。同样是模拟竖式计算,但乘法运算需要克服一些技巧上的障碍:首先需要循环嵌套循环,然后通过一个数组实现逐位累加,最后统一完成进位工作。

前面介绍了大整数的加减法,这次是大整数的乘法。同样是模拟竖式计算,但乘法运算需要克服一些技巧上的障碍:首先需要循环嵌套循环,然后通过一个数组实现逐位累加,最后统一完成进位工作。

C语言完整程序:

#include

#include

char a[100],b[100];

int c[100],d[100],e[100];

main()

{

         int m,n,i,j;

         scanf("%s %s",a,b);

         m=strlen(a);

         n=strlen(b);

         for(i=0;i<=m-1;i++)

         c[i]=a[m-1-i]-'0';

         for(i=0;i<=n-1;i++)

         d[i]=b[n-1-i]-'0';

    for(i=0;i<=n-1;i++)

    for(j=0;j<=m-1;j++)

    {

             e[i+j]+=c[i]*d[j];

         }

         for(i=0;i<=99;i++)

         {

                   e[i+1]+=e[i]/10;

                   e[i]%=10;

         }

         for(i=99;i>=0;i--)

         {

                   if(e[i]!=0)

                   {j=i;break;}

    }

    for(i=j;i>=0;i--)

    printf("%d",e[i]);

}

目录
相关文章
|
2月前
|
并行计算 算法 IDE
【灵码助力Cuda算法分析】分析共享内存的矩阵乘法优化
本文介绍了如何利用通义灵码在Visual Studio 2022中对基于CUDA的共享内存矩阵乘法优化代码进行深入分析。文章从整体程序结构入手,逐步深入到线程调度、矩阵分块、循环展开等关键细节,最后通过带入具体值的方式进一步解析复杂循环逻辑,展示了通义灵码在辅助理解和优化CUDA编程中的强大功能。
|
6月前
|
存储 算法 Python
技术心得记录:大整数算法【10】Comba乘法(实现)
技术心得记录:大整数算法【10】Comba乘法(实现)
35 0
|
算法 测试技术 C#
C++二分算法的应用:乘法表中第k小的数
C++二分算法的应用:乘法表中第k小的数
|
机器学习/深度学习 人工智能 算法
强化学习发现矩阵乘法算法,DeepMind再登Nature封面推出AlphaTensor
强化学习发现矩阵乘法算法,DeepMind再登Nature封面推出AlphaTensor
169 0
|
存储 算法 大数据
基础算法-高精度乘法
高精度算法 为什么要使用高精度算法 C++ 每一个变量都有自己的类型,每个类型都有自己的存储长度范围
|
机器学习/深度学习 人工智能 算法
DeepMind攻克50年数学难题!AlphaZero史上最快矩阵乘法算法登Nature封面(2)
DeepMind攻克50年数学难题!AlphaZero史上最快矩阵乘法算法登Nature封面
166 0
|
机器学习/深度学习 人工智能 算法
DeepMind攻克50年数学难题!AlphaZero史上最快矩阵乘法算法登Nature封面(1)
DeepMind攻克50年数学难题!AlphaZero史上最快矩阵乘法算法登Nature封面
280 0
|
存储 算法 C语言
二十个一乘以二十个二等于多少?C语言经典算法设计之大数乘法
二十个一乘以二十个二等于多少?C语言经典算法设计之大数乘法
1688 0