A * B Problem (Big integer versi…
2014-09-16 19:16
330 查看
1019:A * B Problem (Big
integer version) 【高精度】
Time Limit:1000MS
Memory Limit:65536K
Total Submit:243
Accepted:109
Page View:194
[Submit]
[Status]
[Discuss]
Font Size: Aa
Aa
Aa
Description
计算2个不超过40位的正整数的积.
Input
输入为2行,每一行代表一个数.
Output
输出一行,为2个数的乘积.
Sample Input
11111111111111 1111111111
Sample Output
12345679011110987654321
Hint
用数组!
#include<iostream>
#include<cstring>
using namespace std;
#define max 40
char a[max],b[max];
int c[max*2];
int main()
{
int i,j,k;
memset(c,0,sizeof(c));
cin>>a>>b;
int
alen=strlen(a),blen=strlen(b);
for(i=alen-1;i>=0;i--)
a[i]=a[i]-'0';
for(i=blen-1;i>=0;i--)
b[i]=b[i]-'0';
k=-1;
for(i=alen-1;i>=0;i--)
{
k=alen-1-i;
for(j=blen-1;j>=0;j--)
{
c[k]+=a[i]*b[j];
c[k+1]+=c[k]/10;
c[k]=c[k];
k++;
}
}
bool flag=false;
for(i=max*2-1;i>=0;i--)
{
if(flag)
cout<<c[i];
else if(c[i])
{
cout<<c[i];
flag=true;
}
}
if(!flag)
cout<<"0";
cout<<endl;
}
相关文章推荐
- A + B Problem (Big integer versi…
- 轻院题库:1478 Problem B:不死兔…
- Java_int 和integer的区别
- Project Euler -> problem 1
- Project Euler -> problem 6
- Project Euler -> problem 5
- ECNU-ACM-Problem A+B(Big Integer)
- Project Euler -> problem 12
- Problem G
- Problem F
- Project Euler -> problem 8
- AtomicInteger&nbsp;在高并发量应用程序…
- poj&nbsp;3013&nbsp;Big&nbsp;Christmas&nbsp;Tree&nbsp;(解…
- poj&nbsp;3468&nbsp;A&nbsp;Simple&nbsp;Problem&nbsp;with&nbsp;I…
- Problem C
- bigfile相关探讨 基础知识
- poj&nbsp;1716&nbsp;Integer&nbsp;Intervals(差分…
- POJ 1207(The 3n + 1 problem)水题
- Project Euler -> problem 3
- Project Euler -> problem 9