模板题,不过这种方法对于位数过大是行不通的,比如hdoj这道题,需要用到FFT
#include<bits/stdc++.h> using namespace std; char a[100],b[100]; int x[110],y[110],z[210]; int main() { int len1,len2,i,j; scanf("%s",a); scanf("%s",b); len1=strlen(a); len2=strlen(b); for(j=0,i=len1-1;i>=0;i--) x[j++]=a[i]-'0'; for(j=0,i=len2-1;i>=0;i--) y[j++]=b[i]-'0'; for(i=0;i<len1;i++) for(j=0;j<len2;j++) z[i+j]=z[i+j]+x[i]*y[j]; for(i=0;i<200;i++) if(z[i]>=10) { z[i+1]=z[i+1]+z[i]/10; z[i]=z[i]%10; } for(i=200;i>0;i--) { if(z[i]==0) continue; else break; } for(;i>=0;i--) printf("%d",z[i]); printf("\n"); return 0; }