題目描述
求兩數的積。
輸入輸出格式
輸入格式:
兩個數
輸出格式:
積
輸入輸出樣例
輸入樣例#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 }
作者:自為風月馬前卒
個人部落格http://attack204.com//
出處:http://zwfymqz.cnblogs.com/
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。