题目描述:
题目分类:模拟,注意去前缀0
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define change(n) ( n - ('0' - 0) )
char a[260];
char b[260];
int result[100000];
int main()
{
while(scanf("%s", a)!=EOF)
{
scanf("%s", b);
memset(result, 0, sizeof(result));
int len_a = strlen(a);
int len_b = strlen(b);
int now = 0;
//if(len_a==1&&a[0]=='0'))
for(int i = len_a - 1; i>=0; i--)
{
for(int j = len_b - 1; j>=0; j--)
{
int dis = len_a - 1 - i;
now = len_b - 1 - j + dis;
result[now]+=(change(a[i])*change(b[j]));
result[now+1] += result[now]/10;
result[now] = result[now]%10;
}
}
if(result[now+1])
now = now + 1;
int key = 1;
for(int k = now; k>=0; k--)
if(!key||result[k])
{
printf("%d", result[k]);
key = 0;
}
if(key)
printf("0");
printf("\n");
}
}