0
点赞
收藏
分享

微信扫一扫

高精度乘法

星巢文化 2022-01-20 阅读 49
#include <iostream>
#include <cstring>
using namespace std;

int a[100];
int b[100];
int c[100];
char d[100];
char e[100];

int main()
{
	cin >> d >> e;

	int ld = strlen(d);
	int le = strlen(e);
	int lc = ld + le;

	for (int i = 0; i < ld; i++)
		a[ld - i] = d[i] - '0';
	for (int i = 0; i < le; i++)
		b[le - i] = e[i] - '0';

	for (int i = 1; i <= ld; i++)
	{
		for (int j = 1; j <= le; j++)
		{
			c[i + j - 1] += a[i] * b[j];
			c[i + j] = c[i + j - 1] / 10;
			c[i + j - 1] = c[i + j - 1] % 10;
		}
	}
	while (c[lc] == 0)lc--;
	for (int i = lc; i > 0; i--)
	{
		cout << c[i];
	}
	return 0;
}
举报

相关推荐

0 条评论