码迷,mamicode.com
首页 > 其他好文 > 详细

51NOD 1027 大数乘法

时间:2017-08-06 15:57:48      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:mem   display   长度   lin   www   too   bit   onclick   open   

基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题
 
给出2个大整数A,B,计算A*B的结果。
 
Input
第1行:大数A
第2行:大数B
(A,B的长度 <= 1000,A,B >= 0)
Output
输出A * B
Input示例
123456
234567
Output示例
28958703552

技术分享
#include <bits/stdc++.h>
using namespace std;
#define clear(A) memset(A,0,sizeof(A))


int A[1500],B[1500],C[3000];
char a[1200],b[1200];
int main()
{
    while (~scanf("%s %s",a,b) )
    {
        clear(A),clear(B),clear(C);
        int la = strlen(a),lb = strlen(b);
        for(int i=0;i < la;i++)
            A[la-i] = a[i]-0;
        for(int j=0;j < lb;j++)
            B[lb-j] = b[j]-0;
        for(int i=1;i <= la;i++)
            for(int j=1;j <= lb;j++)
                C[i+j-1] += A[i] * B[j];//注意是+=
        for(int i=0; i<2500 ;i++)
            C[i+1] += C[i]/10 , C[i] %=10;
        int i=2500;
        while(C[i] == 0) i--;
        while (i > 0)
        {
            cout<< C[i];
            i--;
        }
        puts("");
    }
    return 0;
}
大数乘法

 

51NOD 1027 大数乘法

标签:mem   display   长度   lin   www   too   bit   onclick   open   

原文地址:http://www.cnblogs.com/Draymonder/p/7294910.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!