大数相乘的解决方法

http://yinzhezq.blog.163.com/blog/static/1648628902011231382332/ 参看博文,个人按照乘法的计算办法,即按位相乘、错位相加的办法,批改算法如下: #include #include using namespace std; void MUL_max(string a,int la,string b,i http://www.powerkp.info/linked/20130314.do nt lb,int **c);//相乘函数 void ADD_max(int *d,int **c,int la,int lb);//相加函数 void main() {  string a;  string b;  int **c=NULL;  int *d=NULL;  int *temp=NULL;  int la=0,lb=0;  int i=0,j=0,k=0;  int tenth1=0,tenth2=0,mul=0;  cout<<"  ************ 大整数乘法 **************"<>a;  cout<<"请输入被乘数:";  cin>>b;  la=a.length();  lb=b.length();  // 分配 2维 C数组 ,存储a和 b的乘积  c=new int*[la];  for(k=0;k=0;i--)  {     for(int t=0;t=0;j--)   {    mul=(a[i]-48)*(b[j]-48) tenth1;    tenth1=mul/10;    temp[j 1]=mul;    cout<=0;j--)   {    d[i j 1] =temp[j] tenth2;    tenth2=d[i j 1]/10;    d[i j 1]=d[i j 1];    cout<<"d[i j 1]="<
posted @ 2013-03-15 02:40  chinadiy197601  阅读(176)  评论(0编辑  收藏  举报