高精·乘

来源:互联网 发布:新华里12号院网络安装 编辑:程序博客网 时间:2024/04/30 23:27

题目描述

求两数的积。

输入输出格式

输入格式:
两个数

输出格式:

输入输出样例

输入样例#1:
1
2
输出样例#1:
2

数据不超过10000位.

#include<iostream>#include<cstdio>#include<cstring>using namespace std;char a[10001],b[10001];int a1[10001],b1[10001],c1[20002];int main(){    cin>>a>>b;    int lena=strlen(a);    int lenb=strlen(b);    for(int i=0;i<lena;i++)a1[i]=a[lena-i-1]-'0';    for(int i=0;i<lenb;i++)b1[i]=b[lenb-i-1]-'0';    int i,j;    for(i=0;i<lena;i++)    {        for(j=0;j<lenb;j++)        {            c1[i+j]+=a1[i]*b1[j];            c1[i+j+1]+=c1[i+j]/10;            c1[i+j]=c1[i+j]%10;         }    }//c1[2] c1[1] c1[0]    int lenc=lena+lenb;    while(!c1[lenc])lenc--;    if(lenc<0)cout<<"0"<<endl;    for(int k=lenc;k>=0;k--)cout<<c1[k];}
0 0