开发者

Java :: Triangle 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 the total number of blocks in such a triangle with the given number of rows.

 triangle(0) => 0     
 triangle(1) => 1     
 triangle(2) => 3     

The function signature is public int triangle(int rows) { }

I'm unable to proceed with this problem and struggling to solve it.


  1. Figure out how to solve the program on paper. (That is your algorithm)
  2. Then translate that to code.

Looks like you are trying to do step 2 without doing step 1 first. That will alway make you struggle with what to do next.


What you are doing is computing triangular numbers:

http://en.wikipedia.org/wiki/Triangular_number

public int triangle(int rows) {
  return rows * (rows + 1) / 2;
}


You want to calculate the sum of N, N-1, ... to 1. This is the same as N * (N + 1) / 2

public int triangle(int rows) { return rows * (rows + 1) / 2; }
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜