1307:【例1.3】高精度乘法
时间限制: 1000 ms 内存限制: 65536 KB
【题目描述】
输入两个高精度正整数M和N(M和N均小于100位)。求这两个高精度数的积。
【输入】
输入两个高精度正整数M和N。
【输出】
求这两个高精度数的积。
【输入样例】
36 3
【输出样例】
108
#include<bits/stdc++.h> using namespace std; int m[103],n[103]; int ans[10003]; int main(){ string a,b; cin>>a>>b; int lm=a.length(),ln=b.length(); for(int i=0;i<lm;i++)m[lm-i]=a[i]-'0';//倒序处理 for(int i=0;i<ln;i++)n[ln-i]=b[i]-'0'; for(int i=1;i<=ln;i++){ int jw=0;//进位 for(int j=1;j<=lm;j++){ ans[i+j-1]+=n[i]*m[j]; jw=ans[i+j-1]/10; ans[i+j-1]=ans[i+j-1]%10; ans[i+j]+=jw; } } if(ans[ln+lm]!=0)cout<<ans[ln+lm]; for(int i=lm+ln-1;i>=1;i--){//倒序输出 cout<<ans[i]; } cout<<endl; return 0; }
标签:1307,高精度,int,数的积,输入,乘法 From: https://www.cnblogs.com/zangqy/p/17568898.html