Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
Solved

# triangle challenge

Posted on 2016-09-09
Medium Priority
280 Views
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
0
Question by:gudii9
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 2
• 2

LVL 28

Accepted Solution

rrz earned 2000 total points
ID: 41792161
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).
0

LVL 7

Author Comment

ID: 41792191
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
0

LVL 28

Expert Comment

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

LVL 7

Author Comment

ID: 41793645
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);
}
``````
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be \$37.1B.
Learn how to use the free Acronis True Image app to easily transfer data between iPhones and Android phones.
Viewers will learn about arithmetic and Boolean expressions in Java and the logical operators used to create Boolean expressions. We will cover the symbols used for arithmetic expressions and define each logical operator and how to use them in Boole…
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.
###### Suggested Courses
Course of the Month10 days, 3 hours left to enroll