2
我想解决这个问题,我是新的回溯算法, 问题是关于使这样一个金字塔,使坐在两个数字上的数字是他们的总和。在金字塔每个数字是不同的,小于100。就像这样:总和金字塔与回溯
88
39 49
15 24 25
4 11 13 12
1 3 8 5 7
如何做到这一点使用回溯任何指针?
我想解决这个问题,我是新的回溯算法, 问题是关于使这样一个金字塔,使坐在两个数字上的数字是他们的总和。在金字塔每个数字是不同的,小于100。就像这样:总和金字塔与回溯
88
39 49
15 24 25
4 11 13 12
1 3 8 5 7
如何做到这一点使用回溯任何指针?
不一定会回溯,但您要求的属性与Pascal Triangle属性非常相似。
帕斯卡三角形(http://en.wikipedia.org/wiki/Pascal's_triangle)用于高效计算二项式系数等等,它是一个金字塔,其中数字等于在上面的两个数字中排名第一。
正如你所看到的,你正在询问相反的属性,其中数字是其下面数字的总和。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
例如在帕斯卡三角上面,如果你想你的金字塔的顶端是56,你的金字塔将是一个重建自下而上的帕斯卡三角从56开始,这将使类似的:
56
21 35
6 15 20
1 5 10 10
再一次,这不是一个回溯的解决方案,这可能不会给你一个足够好的解决方案为每一个N,但我认为这是一个值得注意的有趣的近似值。
我认为如果您提供了更多说明,例如在金字塔中应该有多少个总数或任何其他要求,这将有所帮助。 – Raj
我假设整件事是关于:给定一个数字N(N <100)创建最高金字塔,例如坐在两个数字上的数字就是它们的总和。 –
...以及由此产生的金字塔以N为顶部...... –