Loading

[算法设计]分治思想实例——大整数乘法(Java实现)

//Java代码实现
public
static long multip(long x,long y,int n) { if(1 == n) { return x*y; } else { long nx1 = (long) (x/Math.pow(10,n/2)); long nx2 = x - nx1 * (long) (Math.pow(10,n/2)); long ny1 = (long) (y/Math.pow(10,n/2)); long ny2 = y - ny1 * (long) (Math.pow(10,n/2)); long nx1y1 = multip(nx1,ny1,n/2); long nx2y2 = multip(nx2,ny2,n/2); long nx1y2x2y1 = multip(nx1 - nx2,ny2 - ny1,n/2) + nx1y1 + nx2y2; return nx1y1 * (long)Math.pow(10, n) + nx1y2x2y1 * (long)Math.pow(10,n/2) + nx2y2; } }

(总结自网易云课堂《算法设计与分析之入门篇》)

posted @ 2020-11-17 23:03  Masahiko  阅读(484)  评论(1)    收藏  举报