/******************************************************************************
Online Java Compiler.
Code, Compile, Run and Debug java program online.
Write your code in this editor and press "Run" button to execute it.
*******************************************************************************/
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
public class Main
{
public static void main (String args[])
{
System.out.println ("Hello world!");
ArrayList < Integer > numbers = new ArrayList <> (6);
numbers.add (1);
numbers.add (3);
numbers.add (4);
numbers.add (5);
numbers.add (6);
numbers.add (7);
System.out.
println (sumRecursively (numbers, 0, 12, new ArrayList < Integer > ()));
}
private static int sumRecursively (ArrayList < Integer > numbers, int sum,
int target,
ArrayList < Integer > partial)
{
for (int i:partial)
sum += i;
if (sum == target)
{
return sum;
}
else
{
for (int n = 0; n < numbers.size (); ++n)
{
partial.add (numbers.remove (n));
sumRecursively (numbers, sum, target, partial);
}
}
return sum;
}
}