/*大数乘法*/
#include<cstdio> #include<cstring> using namespace std; int sum[62550]; int main() { char str[3][255]; int num[3][255]; int len[3],maxlen,i; memset(str,sizeof(str)); while(scanf("%s",str[0]) != EOF) { scanf("%s",str[1]); memset(sum,sizeof(sum)); memset(num,sizeof(num)); len[0] = strlen(str[0]); len[1] = strlen(str[1]); for( i = 0 ; i < 2; i++) { int k = 0; for(int j = len[i]-1 ; j >= 0 ; j--) { num[i][k++] = str[i][j] - '0'; } } maxlen = len[2]; if(len[0] > len[2]) { maxlen = len[0]; } for( i = 0 ; i < len[0] ; i++) { for(int j = 0 ; j < len[1]+i ; j++) { sum[j+i] += num[0][i] * num[1][j]; } } maxlen = len[0] + len[1]; for( i = 0 ; i < maxlen ; i++) { if(sum[i] > 9) { sum[i+1] += sum[i]/10; sum[i] = sum[i]%10; if(i == maxlen - 1) { maxlen++; } } } for( i = maxlen - 1; i >= 0 ; i--) { if(sum[i]) break; } if( i == -1) { printf("0\n"); } else { for(int j = i ;j >=0 ; j--) { printf("%d",sum[j]); } putchar(10); } memset(str,sizeof(str)); memset(num,sizeof(num)); } return 0; } //大数乘法。注意数据的范围。