加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

51nod 1027 大数乘法

发布时间:2020-12-14 01:32:58 所属栏目:大数据 来源:网络整理
导读:51nod 1027 大数乘法 #include iostream #include cstdio #include cstring #include cmath #include algorithm #include queue #include map using namespace std ; #define LL long long #define INF 0x3f3f3f3f #define PI acos(-1.0) #define E 2.71828

51nod 1027 大数乘法

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <queue>
#include <map>
using namespace std;
#define LL long long
#define INF 0x3f3f3f3f
#define PI acos(-1.0)
#define E 2.71828
#define MOD 10007
#define N 1100

int a1[N],a2[N],aresult[2*N];
char str1[N],str2[N];
int main()
{
    memset(aresult,0,sizeof(aresult));
    memset(a1,sizeof(a1));
    scanf("%s",str1);
    int len1=strlen(str1);
    int j = 0;
    for(int i=len1-1;i>=0;i--)
        a1[j++]=str1[i]-'0';
    scanf("%s",str2);
    memset(a2,sizeof(a2));
    int len2=strlen(str2);
    j = 0;
    for(int i=len2-1;i>=0;i--)
        a2[j++]=str2[i]-'0';
    for(int i=0;i<len1;i++)
        for(j=0;j<len2;j++)
            aresult[i+j]+=a1[i]*a2[j];
    for(int i=0;i<(N-10)*2;i++)
    {
        if(aresult[i]>=10)
        {
            aresult[i+1] += aresult[i]/10;
            aresult[i] %= 10;
        }
    }
    int pan_0 = 0;
    for(int i=(N-10)*2;i>=0;i--)
    {
        if(pan_0)
            printf("%d",aresult[i]);
        else if(aresult[i])
        {
            printf("%d",aresult[i]);
            pan_0 = 1;
        }
    }
    printf("n");
    return 0;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读