aboutsummaryrefslogtreecommitdiff
path: root/challenge-163/adam-russell/java/ch-2.java
blob: 66d2a73d68785ee69f33c7c1737a328750e7f6a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import java.util.ArrayList;

class Summations{
    public static ArrayList skipSummations(int[] numbers){
        ArrayList lines = new ArrayList();
        lines.add(numbers);
        for(int i = 0; i < numbers.length; i++){
            int[] line = (int[]) lines.get(lines.size() - 1);
            int[] skip = new int[line.length - 1];
            int[] skip_summation = new int[skip.length];
	    for(int j = 1; j < line.length; j++){
                skip[j - 1] = line[j]; 
	    }  	     
            for(int j = 0; j < skip.length; j++){
                int sum_previous = 0;
		for(int k = 0; k < j; k++){
                    sum_previous += skip[k];
		}
		skip_summation[j] = skip[j] + sum_previous;
	    }
	    lines.add(skip_summation);
	}
        return lines;
    }

    public static void main(String[] args){
        ArrayList lines;
	lines = Summations.skipSummations(new int[]{1, 2, 3, 4, 5});
        for(int i = 0; i < lines.size(); i++){
            int[] line = (int[]) lines.get(i);
            for(int j = 0; j < line.length; j++){
                System.out.print(line[j]);
		System.out.print(" ");
	    }
	    System.out.print("\n");
	}
	lines = Summations.skipSummations(new int[]{1, 3, 5, 7, 9});
	for(int i = 0; i < lines.size(); i++){
	    int[] line = (int[]) lines.get(i);
	    for(int j = 0; j < line.length; j++){
		System.out.print(line[j]);
		System.out.print(" ");
	    }
	    System.out.print("\n");
	}
    }
}