编写一个打印出前n个三角形数字的程序。三角形 数字或三角形数字计算可以形成等边的对象 三角形,如下图所示。第n个三角形数字是数字 组成三角形的点,一侧有n个点。你的程序应该 为n = 5产生以下输出:
1 1
2 3
3 6
4 10
5 15
答案 0 :(得分:0)
我会给你一个提示,因为这看起来像是一个黑名单。
如果你检查你发布的图形,为了计算第(n)个数字,你只需要添加一个新行到底部的第(n-1)个数字,并添加n个新点。
从
开始1 -> 1
2 -> 1+2 = 3
3 -> 3+3 = 6
4 -> 6+4 = 10
初始条件为f(n) = f(n-1) + n
的或f(0)=0
现在,您可以在此时递归解决此问题。但是,我们可以更进一步,计算一个封闭形式的公式。
f(1) = f(0) + 1
f(2) = f(1) + 2
...
f(n) = f(n-1) + n
+------------------
f(n) = f(0) + 1 + 2 + ... + n = n*(n+1)/2