上传者: qinchaohan
|
上传时间: 2021-10-11 10:40:31
|
文件大小: 985B
|
文件类型: -
大整数乘法
实验描述:给定X和Y都是n位整数,计算乘积XY。分治算法思想,将n位X和Y分成2段,每段n/2位。则X分为AB两段,Y分为CD两段。
有X=A*(10)^(n/2)+B,Y=C*(10)^(n/2)+D;XY=(A*(10)^(n/2)+B)(C*(10)^(n/2)+D)=AC*(10)^n+(AD+BC)*(10)^(n/2)+BD。
证明及详细分析参见教材16页。
编程任务:
给定两个数X和Y,打印出X和Y采用分治法计算X*Y过程中,拆分的ABCD四个部分的值,和最终的计算结果。
Input
输入为两个整数X,Y
Output
采用分治法求解过程中计算的ABCD的值,和最终X*Y的结果
输出结果中间有空格
Sample Input
12 12
Sample Output
1 2 1 2
12 * 12 = 144