/*
两个非常大的数相乘
模拟乘法运算
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<algorithm>
#include<stack>
#include<cmath>
using namespace std;
#define MAX_N 221
int a1[MAX_N],a2[MAX_N];
char s1[MAX_N],s2[MAX_N];
int p[MAX_N*2];
int main()
{
gets(s1);
gets(s2);
int i,j;
int len1=strlen(s1);
//将数组里的内容变为0
memset(a1,0,sizeof(a1));
memset(a2,0,sizeof(a2));
memset(p,0,sizeof(p));
j=0;
for(i=len1-1; i>=0; i--) //用数组倒着记录字符串里的数据
{
a1[j++]=s1[i]-'0';
}
j=0;
int len2=strlen(s2);
for(i=len2-1; i>=0; i--)
{
a2[j++]=s2[i]-'0';
}
for(i=0; i<len1; i++)
{
for(j=0; j<len2; j++)
{
p[i
大数乘法模板
最新推荐文章于 2019-03-24 16:34:08 发布
该博客介绍了一种用于计算两个大数相乘的算法模板,通过模拟乘法运算过程,将输入的字符串形式的大数转换为数组并进行计算,最终得到乘积。程序使用了C++语言,包括 memset 函数初始化数组,以及遍历字符串逆序存储数值等步骤,通过双重循环进行逐位乘法和进位操作,最后输出结果。
摘要由CSDN通过智能技术生成