'Karatsuba for dart (Recursion function)
import 'dart:math';
int karatsuba(x, y) {
var n, m, a, b, c, d, p, q, ac, bd, pq, adcb;
n = max(2, 2);
m = (n ~/ 2);
a = (x / pow(10, m)).floor(); // 56
b = (x % pow(10, m)); // 78
c = (y / pow(10, m)).floor(); // 12
d = (y % pow(10, m)); // 34
p = a + b;
q = c + d;
ac = karatsuba(a, c); // problem
bd = karatsuba(b, d);
pq = karatsuba(p, q);
adcb = pq - ac - bd;
return ac * (pow(10, n)) + adcb * (pow(10, m)) + bd;
}
void main() {
karatsuba(12, 12);
}
ac = karatsuba(a, c) => here my problem. I don't understand why dart making endless loop for this. It is work for python but don't work from dart.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
