#1227. 高精度求积(multiply) 题解
原题链接题目描述
输入两个高精度正整数 M 和 N(M 和 N 均小于 100 位)。
求这两个高精度数的积。
输入
两个数字,中间用空格隔开
输出
一个数字,不要带有任何空格或字母
样例输入
36 3
样例输出
108
题解
#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
int a;
string s1,s2;
void addd()
{
int a1=s1.size(),a2=s2.size();
for (int i=0;i<a1;i++)
for (int j=0;j<a2;j++)
a+=(s1-'0')*(s2-'0');
for (int i=1;i<=a1+a2;i++) { a+=a/10; a%=10; }
a=a1+a2; while (a]==0&&a>1) a--;
}
int main()
{
getline(cin,s1);
getline(cin,s2);
memset(a,0,sizeof(a));
addd();
for (int i=a;i>=1;i--) cout<<a;
cout<<endl;
return 0;
}
页:
[1]