#include<cstdio>
#include<cstring>
#include<algorithm>
#define MAX 600
using namespace std;
struct NUM
{
int len;
char s[MAX];
}num,num_1,num_2;
int N[MAX];
int main()
{
#ifdef LOCAL
freopen("in.txt","r",stdin);
#endif // LOCAL
int i,j;
while(gets(num.s)!=NULL)
{
memset(N,0,sizeof(N));
num.len = strlen(num.s);
num_1.len = num_2.len = 0;
for(i = num.len-1; i >= 0; i--)
num_1.s[num_1.len++] = num.s[i];
for(; num_1.len>=0&&num_1.s[num_1.len-1]=='0';num_1.len--);
gets(num.s);
num.len = strlen(num.s);
for(i=num.len-1; i >= 0; i--)
num_2.s[num_2.len++] = num.s[i];
for(; num_2.len>=0&&num_2.s[num_2.len-1]=='0';num_2.len--);
for(i = 0; i < num_1.len; i++)
{
for(j = 0; j < num_2.len; j++)
{
N[i+j] += (num_1.s[i]-'0')*(num_2.s[j]-'0');
}
}
int sum = 0;
for(i = 0; i < num_1.len+num_2.len; i++)
{
sum += N[i];
N[i] = sum%10;
sum /= 10;
}
for(i = num_1.len+num_2.len; i >=0&&N[i]==0;i--);//刚开始没注意这 直接附上MAX超过数组范围了 结果WA的几次 细节啊
if(i == -1)printf("0");//结果为零的情况一定要考虑
else
for(; i >= 0; i--)
printf("%d",N[i]);
printf("\n");
}
}
uva 10106 - Product 大数乘法
最新推荐文章于 2019-07-16 14:26:20 发布