- 1307:【例1.3】高精度乘法
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 4358 通过数: 1440
【题目描述】
输入两个高精度正整数M和N(M和N均小于100位)。求这两个高精度数的积。
【输入】
输入两个高精度正整数M和N。
【输出】
求这两个高精度数的积。
【输入样例】
36
3
【输出样例】
108
【来源】
No
#include<bits/stdc++.h> using namespace std; char a[200],b[200]; int x[200],y[200],s[401]; int main() { cin>>a>>b; int al=strlen(a),bl=strlen(b),flag=0; for(int i=0;i<al;i++) { x[i]=a[al-1-i]-'0'; } for(int i=0;i<bl;i++) { y[i]=b[bl-1-i]-'0'; } for(int i=0;i<al;i++) { for(int j=0;j<bl;j++) { s[i+j]=s[i+j]+x[i]*y[j]; s[i+j+1]+=s[i+j]/10; s[i+j]=s[i+j]%10; } } al=400; while(s[al]==0) { al--; } for(int i=al;i>=0;i--) { cout<<s[i]; } return 0; }
文章来源: 1307:【例1.3】高精度乘法