public boolean isAggregate(int[] number){
        if(number.length < 3){
            return false;
        }
        int prev = 0;
        for(int i=1; i <= number.length/2; i++){
            for(int j=0; j <i; j++){
                int num1 = getNumber(number, prev, j);
                int num2 = getNumber(number,j+1,i);
                int start = i+1;
                boolean flag = false;
                int k = start;
                for(; k < number.length; k++){
                    int num3 = getNumber(number, start, k);
                    if(num1 + num2 < num3){
                        break;
                    }
                    if(num1 + num2 == num3){
                        num1 = num2;
                        num2 = num3;
                        flag = true;
                        start = k+1;
                    }else{
                        flag = false;
                    }
                }
                if(k == number.length && flag){
                    return true;
                }
                flag = false;
            }
        }
        return false;
    }
Number such that 11 + 11 = 22, 11 +22 = 33, 22 +33 = 55
so 1111223355 is aggregate number
src/com/interview/number/AggregateNumber.java