大数乘法

标签: 算法
3人阅读 评论(0) 收藏 举报
分类:

题目链接:大数a*b

题目描述

这是一个非常简单的题,计算A*B的值。

输入

第一行:数A

第二行:数B

数A,B是不超过1000位的正整数。

输出

A*B的值,答案独占一行。

样例输入

123456
234567

样例输出

28958703552

解题思路:

同样,也是先用字符数组存下,转化为int型数组计算,计算过程中,用另一个数组存下计算结果,然后计算的时候,一位一位进行相乘计算,然后加到相应的位上,最后进行进位计算即可。

代码篇:

#include <iostream>
#include <cstring>
using namespace std;
int main()
{
    int arr[1000]={0},brr[1000]={0},mut[2010],i,j,flag=0;
    char a[1000],b[1000];
    cin >> a >> b;
    for(i=0; i<strlen(a); i++)
        arr[strlen(a)-1-i]=a[i]-'0';
    for(i=0; i<strlen(b); i++)
        brr[strlen(b)-1-i]=b[i]-'0';
    for(i=0; i<strlen(a); i++)
    {
        for(j=0; j<strlen(b); j++)
        {
            mut[i+j]+=arr[i]*brr[j];
        }
    }
    for(i=0; i<=strlen(a)+strlen(b); i++)
    {
        if(mut[i]>=10)
        {
            mut[i+1]+=mut[i]/10;
            mut[i]%=10;
        }
    }
    for(i=strlen(a)+strlen(b); i>=0; i--)
    {
        if(mut[i]!=0)
        {
            for(i=i; i>=0; i--)
                cout << mut[i];
            flag=1;
            break;
        }
    }
    if(flag==0)
        cout << "0";
    return 0;
}
查看评论

大数乘法 用字符串实现大数乘法

  • 2010年05月23日 16:57
  • 1KB
  • 下载

解题报告: 51nod 1028 大数乘法 V2 FFT

1028 大数乘法 V2 基准时间限制:2 秒 空间限制:131072 KB 分值: 80 难度:5级算法题  收藏  关注 给出2个大整数A,B,...
  • qq_32570675
  • qq_32570675
  • 2016-11-20 23:12:49
  • 633

acm大数乘法

  • 2012年03月18日 16:18
  • 2KB
  • 下载

FFT 模板 大数相乘

大数乘法 基准时间限制:2 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 收藏 关注 给出2个大整数A,B,计算A*B的结果。 Input 第1行:大数...
  • Summer__show_
  • Summer__show_
  • 2017-06-06 05:26:45
  • 434

基于字符串的大数乘法

  • 2008年11月26日 11:07
  • 1KB
  • 下载

【51NOD1028】大数乘法 V2

╰( ̄▽ ̄)╭给出2个大整数A,B,计算A*B的结果。 (A,B的长度 = 0)(⊙ ▽ ⊙)把大整数AA看做一个次数界为lenAlen_A的多项式A(x)A(x),其中x=10x=10, 同样,...
  • hiweibolu
  • hiweibolu
  • 2017-02-16 17:29:58
  • 202

51Nod-1028-大数乘法 V2

ACM模版描述题解FFT模版题,不禁赞叹FFT的神奇,但是着实不好理解,算法导论上讲得还好,可以看看。感觉可以用截位相乘的方法做,但是不知道会不会超时。代码#include #include #i...
  • f_zyj
  • f_zyj
  • 2016-10-10 17:29:31
  • 506

POJ 1001 Exponentiation (高精度/大数乘法)

题目点我点我点我 思路:首先处理输入的输入数中的小数点,先把小数点去掉,把原来的数存储在整型数组中,记录小数点的位置,然后再开一个整型数组存储中间结果。接下来比较简单,设数组a和数组b一开始存储输入...
  • L954688947
  • L954688947
  • 2015-11-22 23:54:59
  • 451

HDU 1402 FFT 求 大数乘法

这题的数据量是5w, 也就是传统意义上的n^2算法是不可取的。这里就用到了FFT FFT一般的作用就是使得多项式乘法的复杂度降到nlogn。利用FFT可以快速求出循环卷积。 那么卷积又是什...
  • sdj222555
  • sdj222555
  • 2013-08-06 10:13:43
  • 6958

大数乘法(快速傅立叶变换)上

大数乘法(快速傅立叶变换)上
  • u013351484
  • u013351484
  • 2015-09-28 20:36:13
  • 1895
    个人资料
    持之以恒
    等级:
    访问量: 566
    积分: 161
    排名: 108万+
    文章分类
    文章存档