mxdyeah 发表于 2024-2-1 14:02:47

#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]
查看完整版本: #1227. 高精度求积(multiply) 题解