我們有三角塊組成的三角形。最頂行有1個塊,下一行有2個塊,下一行有3個塊,依此類推。計算具有給定行數的三角形中的塊的總數。Java ::三角形問題
triangle(0) => 0
triangle(1) => 1
triangle(2) => 3
函數簽名是public int triangle(int rows) { }
我不能把這個問題出發,努力解決它。
我們有三角塊組成的三角形。最頂行有1個塊,下一行有2個塊,下一行有3個塊,依此類推。計算具有給定行數的三角形中的塊的總數。Java ::三角形問題
triangle(0) => 0
triangle(1) => 1
triangle(2) => 3
函數簽名是public int triangle(int rows) { }
我不能把這個問題出發,努力解決它。
看起來您正在嘗試執行第2步而未先執行第1步。這會讓你不知道下一步該做什麼。
你要計算的N,N-1,總和... 1。這是一樣的N * (N + 1)/2
public int triangle(int rows) { return rows * (rows + 1)/2; }
你在做什麼是計算三角號碼:
http://en.wikipedia.org/wiki/Triangular_number
public int triangle(int rows) {
return rows * (rows + 1)/2;
}
這個......聽起來像是一個他必須解決的問題。 – amal 2011-05-11 11:27:26
@amal通過練習,你的意思是功課? – 2011-05-11 11:28:56
@amal,如果是家庭作業,我希望他應該用遞歸來解決這個問題,他不會爲這個答案得到分數。但他沒有說這是作業,或者他不得不使用遞歸,所以我給他提供這個解決方案。 ;) – 2011-05-11 11:30:42