您的位置:首页 > 其它

POJ 百练 2980:大整数乘法

2011-09-18 15:46 465 查看
#include <stdio.h>

#include <memory.h>

using namespace std;

#define MaxNum 210

int a[MaxNum];

int b[MaxNum];

char chara[MaxNum];

char charb[MaxNum];

int main()

{

scanf("%s",chara);

scanf("%s",charb);

int i,j;

memset(a,0,sizeof(a));

memset(b,0,sizeof(b));

j = 0;

for(int i = strlen(chara)-1;i >= 0;i--)

a[j++] = chara[i] - '0';

j =0;

for(int i = strlen(charb)-1;i >= 0;i--)//15

b[j++] = charb[i] - '0';

for(int i = 0; i < MaxNum;i++)

{

a[i] += b[i];

if(a[i]>=10)

{

a[i+1]++; //9+9=18

a[i] = a[i] - 10;

}

}

bool isZero = false;

for(int i = MaxNum - 1;i>=0;i--)

{

if(isZero)

printf("%d",a[i]);

else if(a[i])

{

isZero = true;

printf("%d",a[i]);

}

}

if(a[0]==0&&b[0]==0)

printf("%d\n",a[0]+b[0]);

printf("\n");

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: