相乘转化为相加,哪种快

比如12*13
我指的相乘的方法是这样的
for(i=0;i<=ca;i++)
{for(j=0;j<=cb;j++)
s[i+j]+=a[i]*b[j];
}
for(i=ca+cb;i>=0;i--)
{if(s[i]>10)
{s[i-1]+=s[i]/10;
s[i]=s[i]%10;
}
}
转化为相加则循环,让13个12加起来。
这两种哪种快?
大数时呢?
个人觉得第二种比较简单,就一个循环的事,特别是做除时。

第1个回答  2013-07-04
其实你写的算法是相乘,但是他的原理还是循环相加。。。。
相似回答