大数相乘
2014-06-26 20:30
253 查看
#include<iostream> #include<stdlib.h> #include<string.h> void multiply(char *a,char *b); int main(void) { char a[100],b[100]; std::cin>>a>>b; multiply(a,b); } void multiply(char *a,char *b) { int i,len=strlen(a)+strlen(b); int *c=new int[len]; for(i=0;i<len;i++) c[i] =0; for(i=0;i<strlen(a);i++) for(int j=0;j<strlen(b);j++) { c[i+j+1]+=(a[i]-'0')*(b[j]-'0'); } for(i=len-1;i>=0;i--) { if(c[i]>=10) { c[i-1]+=c[i]/10; c[i]=c[i]%10; } } i=0; while(c[i]==0) { i++; } while(i<len) { printf("%d",c[i]); i++; } }