大数乘法

1027 大数乘法

基准时间限制: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

相关问题

大数加法

0

大数开平方

640

大数进制转换

320

大数除法

320

大数乘法 V2

80

代码:

 1 #include<cstdio>
 2 #include<cstring>
 3 const int maxn = 1010;
 4 char a[maxn],b[maxn];
 5 int aa[maxn],bb[maxn],c[2020];
 6 int main()
 7 {
 8     int i,j;
 9     while(scanf("%s %s",a,b)!=EOF)
10     {
11         if(a[0]==‘0‘||b[0]==‘0‘) {printf("0\n");continue;}
12         memset(c,0,sizeof(c));
13         int l1=strlen(a),l2=strlen(b);
14         for(i=0;i<l1;i++)
15             aa[i]=a[l1-i-1]-‘0‘;
16         for(i=0;i<l2;i++)
17             bb[i]=b[l2-i-1]-‘0‘;
18         for(i=0;i<l1;i++)
19         {
20             for(j=0;j<l2;j++)
21             {
22                 c[i+j]=aa[i]*bb[j]+c[i+j];
23                 c[i+j+1]=c[i+j+1]+c[i+j]/10;
24                 c[i+j]=c[i+j]%10;
25             }
26         }
27         i=l1+l2;
28         while(!c[i]) i--;
29         for(;i>=0;i--)
30             printf("%d",c[i]);
31         printf("\n");
32     }
33     return 0;
34 }

Java:

 1 import java.util.Scanner;
 2 import java.math.*;
 3 public class Main{
 4
 5  public static void main(String[] args){
 6   Scanner in=new Scanner(System.in);
 7   //默认分隔符为空格//
 8   BigInteger a=in.nextBigInteger();
 9   BigInteger b=in.nextBigInteger();
10
11   System.out.println((a.multiply(b)));
12  }
13 }
时间: 2024-10-21 00:55:25

大数乘法的相关文章

最短的计算大数乘法的c程序

#include <stdio.h> char s[99],t[99]; int m,n; void r(int i,int c) { int j=0,k=i; while(k)c+=s[j++]*t[k---1]; if(i)r(i-1,c/10); printf("%d",c%10); } void main() { gets(s);gets(t); while(s[n])s[n++]-=48; while(t[m])t[m++]-=48; r(m+n-1,0); }

ACM学习历程—51NOD1028 大数乘法V2(FFT)

题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1028 题目大意就是求两个大数的乘法. 但是用普通的大数乘法,这个长度的大数肯定不行. 大数可以表示点值表示法,然后卷积乘法就能用FFT加速运算了. 这道题是来存模板的. 代码: #include <iostream> #include <cstdio> #include <cstdlib> #include <cmath>

【大数乘法】

1 #include<cstdio> 2 #include<cstring> 3 const int Len = 100; 4 void Mul(char a[],char b[],char c[])//大数乘法 5 { 6 int i,j; 7 int alen = strlen(a),blen = strlen(b); 8 memset(c,0,Len); 9 for(i = 0; i < alen; i++) 10 for(j = 0; j < blen; j++

大数乘法的几种算法分析及比较(2014腾讯南京笔试题)

转自:http://blog.csdn.net/chhuach2005/article/details/21168179 1.题目 编写两个任意位数的大数相乘的程序,给出计算结果. 2.题目分析 该题相继被ACM.华为.腾讯等选作笔试.面试题,若无准备要写出这种程序,还是要花一定的时间的.故,觉得有必要深入研究一下.搜索了网上的大多数该类程序和算法,发现,大数乘法主要有模拟手工计算的普通大数乘法,分治算法和FFT算法.其中普通大数乘法占据了90%以上,其优点是空间复杂度低,实现简单,时间复杂度为

HDOJ-1042 N!(大数乘法)

http://acm.hdu.edu.cn/showproblem.php?pid=1042 题意清晰..简单明了开门见山的大数乘法.. 10000的阶乘有35000多位 数组有36000够了 # include <stdio.h> # include <string.h> # define MAX 36000 int BigNum[MAX], NowLen; void Multi(int number) { int Temp[MAX]={0}, Tlen = 0, t;//Tem

大数乘法 (poj2389)

模板 #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> using namespace std; void cheng( char *a, char *b, char *sum ) { int temp[2500]; int lena,lenb,l; lena=strlen(a); lenb=strlen(b); int len = lena + lenb;

Uva-oj Product 大数乘法

Product Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Description The problem is to multiply two integers X, Y. (0<=X,Y<10250) Input The input will consist of a set of pairs of lines. Each line in pair cont

组合数学 + 大数乘法 + 大数除法 之 hdu 1261 字串数

//  [3/17/2015 JmingS] /* 此题可直接推导出公式: {(A1+A2+……+An)!} / {A1!A2!……An!} 由于 (12×26)! = 312! 只能通过数组来存储,所以又涉及『大数乘法』和『大数除法』, 大数实现的主要思想模拟手算,具体参考程序. */ 1 #include <iostream> 2 #include <cstdlib> 3 #include <cstdio> 4 #include <cstring> 5

[POJ] #1002# Exponentiation : 大数乘法

一. 题目 Exponentiation Time Limit: 500MS   Memory Limit: 10000K Total Submissions: 156373   Accepted: 38086 Description Problems involving the computation of exact values of very large magnitude and precision are common. For example, the computation of