poj2389 大整数乘法
2011-09-04 15:34
274 查看
#include <iostream>
using namespace std;
const int N=42;
char str1
,str2
;
int s1
,s2
,result[2*N];
int main()
{
int i,j,len1,len2,len;
memset(str1,'\0',sizeof(str1));
memset(str2,'\0',sizeof(str2));
for(i=0;i<2*N;i++)
result[i]=0;
cin>>str1;
cin>>str2;
len1=strlen(str1);
len2=strlen(str2);
j=0;
for(i=len1-1;i>=0;i--)
s1[j++]=str1[i]-'0';
j=0;
for(i=len2-1;i>=0;i--)
s2[j++]=str2[i]-'0';
for(i=0;i<len1;i++)
{
for(j=0;j<len2;j++)
{
result[i+j]+=s1[i]*s2[j];
}
}
len=len1+len2;
for(i=0;i<len;i++)
{
if(result[i]>=10)
{
result[i+1]+=result[i]/10;
result[i]=result[i]%10;
}
}
bool flag=true;
for(i=len;i>=0;i--)
{
if(flag)
{
if(result[i]>0)
{
flag=false;
cout<<result[i];
}
}
else
cout<<result[i];
}
cout<<endl;
return 0;
}
using namespace std;
const int N=42;
char str1
,str2
;
int s1
,s2
,result[2*N];
int main()
{
int i,j,len1,len2,len;
memset(str1,'\0',sizeof(str1));
memset(str2,'\0',sizeof(str2));
for(i=0;i<2*N;i++)
result[i]=0;
cin>>str1;
cin>>str2;
len1=strlen(str1);
len2=strlen(str2);
j=0;
for(i=len1-1;i>=0;i--)
s1[j++]=str1[i]-'0';
j=0;
for(i=len2-1;i>=0;i--)
s2[j++]=str2[i]-'0';
for(i=0;i<len1;i++)
{
for(j=0;j<len2;j++)
{
result[i+j]+=s1[i]*s2[j];
}
}
len=len1+len2;
for(i=0;i<len;i++)
{
if(result[i]>=10)
{
result[i+1]+=result[i]/10;
result[i]=result[i]%10;
}
}
bool flag=true;
for(i=len;i>=0;i--)
{
if(flag)
{
if(result[i]>0)
{
flag=false;
cout<<result[i];
}
}
else
cout<<result[i];
}
cout<<endl;
return 0;
}
相关文章推荐
- HDU 1402 POJ 2389 BZOJ 2179 大整数乘法 FFT
- POJ 2389——Bull Math, 大整数乘法的另一种解法
- OpenJ_Bailian 2980 || POJ 2389 大整数乘法
- poj2389---大数乘法
- POJ2389 FFT 大数乘法
- POJ 2389 大数乘法
- POJ 2980 大整数乘法 解题报告
- POJ--2389:Bull Math 大数乘法
- poj 2389 BullMath(大数乘法)
- 大数乘法 poj 2389 ||大数乘法 hdu1402 FFT模板
- POJ 2389大数乘法
- poj2389 普通的大数乘法
- POJ2980大整数乘法
- POJ 2389 Bull Math 高精度(大数)乘法 模板
- poj 2389 大数乘法
- POJ 2389 Bull Math 高精度(大数)乘法 模板
- POJ 百练 2980:大整数乘法
- poj 2389 解题报告 大数乘法
- 【原】 POJ 1001 Exponentiation 大整数乘法 解题报告
- poj 2389 Bull Math 高精度乘法模板