P1303 A*B Problem
阿新 • • 發佈:2017-05-14
cst clu ont tdi cnblogs ring b- max can
題目描述
求兩數的積。
輸入輸出格式
輸入格式:兩個數
輸出格式:積
輸入輸出樣例
輸入樣例#1:1 2輸出樣例#1:
2
說明
需用高精
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 using namespace std; 6 const int MAXN=3000001; 7 char a1[MAXN],b1[MAXN];8 int a[MAXN],b[MAXN]; 9 int ans[MAXN]; 10 int x; 11 int main() 12 { 13 scanf("%s%s",a1,b1); 14 int la=strlen(a1); 15 int lb=strlen(b1); 16 for(int i=0;i<la;i++) 17 a[i]=a1[la-i-1]-48; 18 for(int i=0;i<lb;i++) 19 b[i]=b1[lb-i-1]-48; 20 int lc=la*lb;21 for(int i=0;i<la;i++) 22 { 23 for(int j=0;j<lb;j++) 24 { 25 ans[i+j]+=(a[i]*b[j]); 26 x=(ans[i+j])/10; 27 ans[i+j]=ans[i+j]%10; 28 ans[i+j+1]+=x; 29 } 30 } 31 int flag=0; 32 for(int i=lc;i>=0;i--)33 { 34 if(ans[i]==0&&flag==0&&i>0) 35 continue; 36 else flag=1; 37 printf("%d",ans[i]); 38 } 39 return 0; 40 }
P1303 A*B Problem