您的位置:首页 > 其它

高精度运算 51 nod 大数相乘

2017-05-15 18:09 204 查看
1027 大数乘法


基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题


 收藏


 关注

给出2个大整数A,B,计算A*B的结果。

Input
第1行:大数A
第2行:大数B
(A,B的长度 <= 1000,A,B >= 0)


Output
输出A * B


Input示例
123456
234567


Output示例
28958703552

#include<bits/stdc++.h>
using namespace std;
int main(){
char a[10001],b[10001];
int j,k,l=0,i=0,t=0,r,c[100001]={0},d[10000],e[10000];
cin>>a>>b;
for(j=0;j<strlen(a);j++)   d[j]=a[j]-'0';    //将字符转化为数字存储
for(j=0;j<strlen(b);j++)   e[j]=b[j]-'0';
for(j=strlen(a)-1;j>=0;j--){
l=strlen(a)-j-1;                  //错位
for(k=strlen(b)-1;k>=0;k--){
t=d[j]*e[k]+c[l];
c[l]=t%10;                          //储存
if(t>9)  c[l+1]=c[l+1]+t/10;      //如果大于9 将存在下一个位置上
l++;
}
}
for(j=100000;j>=0;j--){
if(c[j]!=0){
r=j;
break;
}
}
for(j=r;j>=0;j--){
cout<<c[j];
}
}


加油  因为转专业的缘故宿舍的都出去实习了 我自己一个人待在宿舍感觉好孤单啊·====早知道就不转专业了  转过去我也没有好好听课 还不如不转呢 唉 心痛






                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: