##
**Problem:**

We have triangle made of blocks. The topmost row has 1 block, the next row down has 2 blocks, the next row has 3 blocks, and so on. Compute recursively (no loops or multiplication) the total number of blocks in such a triangle with the given number of rows.

triangle(0) → 0

triangle(1) → 1

triangle(2) → 3

##
**Solution:**

public int triangle(int rows) { if (rows == 0) return 0; return rows + triangle(rows-1); }

this is also the summation from i = 0 to i = n of i, so an alternative solution to the problem is simply n*(n+1)/2

ReplyDeletepublic int triangle(int rows) {

ReplyDeletereturn (rows ==0)? 0 : triangle(rows-1)+rows;

}

same result

ReplyDeletepublic int triangle(int rows) {

if(rows == 0) {

return 0;

}

return rows + triangle(rows - 1);

}

return rows==0?0:rows+triangle(rows-1);

ReplyDelete