triangle challenge gudii9 used Ask the Experts™
on
Hi,

I am working on below challenge

http://codingbat.com/prob/p194781

Recursion-1 > triangle
prev  |  next  |  chance
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

i have not understood above description.
what is row and what is block and how they are related to triange and what we have to return
Comment
Watch Question

Do more with EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
student
Commented:
what is row and what is block and how they are related to triange and what we have to return
They could have named this challenge "stairs". Here is a image I found to illustrate the concept. It's shape is roughly a triangle. They want to give total number of blocks needed to construct the triangle(stairs).

Commented:
i understood now with above image.

public int triangle(int rows) {
if(rows==1){
return 1;
}
return rows+triangle(rows-1);
}
above fails one test case

xpected      Run
triangle(0) → 0      Exception:java.lang.StackOverflowError (line number:2)      X
triangle(1) → 1      1      OK
triangle(2) → 3      3      OK
triangle(3) → 6      6      OK
triangle(4) → 10      10      OK
triangle(5) → 15      15      OK
triangle(6) → 21      21      OK
triangle(7) → 28      28      OK
other tests
how to decide base case begin with 0 or with 1. it is failing 0 case now
student

Commented:
how to decide base case begin with 0
Just do the same with base case with 0 instead of 1.

Commented:
with one failing one.

with 0 base case all passing

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

Do more with Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.