We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents 4ae8837 + fee244e commit 624fa6aCopy full SHA for 624fa6a
multiplication/karatsuba.java
@@ -0,0 +1,22 @@
1
+class Main {
2
+ public static void main(String[] args) {
3
+ System.out.print(karatsuba (923,1723));
4
+ }
5
+ private static int karatsuba(int x, int y){
6
+ if (String.valueOf(x).length()==1 || (String.valueOf(y).length()==1)){
7
+ return x*y;
8
9
+ else{
10
+ int n = Math.max(String.valueOf(x).length(),String.valueOf(y).length());
11
+ int z = n / 2;
12
+ int a = x /(int) Math.pow(10, z);
13
+ int b = x %(int) Math.pow(10, z);
14
+ int c = y /(int) Math.pow(10, z);
15
+ int d = y %(int) Math.pow(10, z);
16
+ int ac = karatsuba(a,c);
17
+ int bd = karatsuba(b,d);
18
+ int adbc = karatsuba(a+b,c+d) - ac - bd;
19
+ return ac * (int)Math.pow(10, (2*z)) + (adbc * (int)Math.pow(10, z)) + bd;
20
21
22
+}
0 commit comments