#include<bits/stdc++.h> using namespace std; string s1,s2; int a[250],b[250],c[500],p; int main(){ cin>>s1>>s2; //逆序将s1和s2存入数组a和数组b中 for(int i=0;i<s1.size();i++) a[i]=s1[s1.size()-1-i]-'0'; for(int i=0;i<s2.size();i++) b[i]=s2[s2.size()-1-i]-'0'; //循环数组a中的每一位,用a[i]去乘b数组中的每一位b[j] //然后将结果错位放在c[i+j]上 for(int i=0;i<s1.size();i++){ for(int j=0;j<s2.size();i++){ c[i+j]=c[i+j]+a[i]*b[j]; //进位 if(c[i+j]>=10){ c[i+j+1]=c[i+j+1]+c[i+j]/10; c[i+j]=c[i+j]%10; } } } //逆序输出,从第一个非0元素开始输出 for(int i=s1.size()+s2.size()-1;i>=0;i--){ if(c[i]!=0){ p=i; break; } } for(int i=p;i>=0;i--){ cout<<c[i]; } return 0; } /************************************************************** Problem: 1287 User: hulaoshi Language: C++ Result: Runtime Error ****************************************************************/