Advertisement
Guest User

Untitled

a guest
Aug 28th, 2014
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.02 KB | None | 0 0
  1.     public static boolean sumNum(int[] a, int n)
  2.     {
  3.         return sumNum(a, n, 0, 0, 0,new int[a.length], new int[a.length], 0, 0);
  4.     }
  5.     private static boolean sumNum(int[] a, int n, int i, int s1, int s2, int[] hist1, int[] hist2, int ind1, int ind2)
  6.     {
  7.         if(i >= a.length)
  8.         {
  9.             if(s1 - s2 == n || s2 - s1 == n)
  10.             {
  11.                 print(hist1, 0, ind1);
  12.                 System.out.println();
  13.                 print(hist2, 0, ind2);
  14.                 return true;
  15.             }
  16.             return false;
  17.         }
  18.         hist1[ind1] = a[i];
  19.         if(sumNum(a, n, i+1, s1 + a[i], s2, hist1, hist2, ind1 + 1, ind2))
  20.         {
  21.             return true;
  22.         }
  23.         hist2[ind2] = a[i];
  24.         return sumNum(a, n, i+1, s1, s2 + a[i], hist1, hist2, ind1, ind2 + 1);
  25.     }
  26.     private static void print(int[] a, int from, int to)
  27.     {
  28.         if(from < to)
  29.         {
  30.             System.out.print(a[from] + ", ");
  31.             print(a, from+1, to);
  32.         }
  33.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement