背景故事
免责声明:可能包含有关袋鼠的虚假信息。
袋鼠穿越了几个发展阶段。随着年龄的增长和力量的增强,他们可以跳得更高和更长,并且在饥饿之前可以跳更多次。
在第1阶段,袋鼠很小,根本无法跳跃。尽管如此,还是不断需要营养。我们可以这样表示第1阶段袋鼠的活动模式。
o
在阶段2中,袋鼠可以跳一点,但饿之前不能超过2跳。我们可以代表一个阶段2这样袋鼠的活动模式。
o o
o o o
在第2阶段之后,袋鼠会迅速改善。在随后的每个阶段,袋鼠都可以跳得更高一点(在图形表示中为1个单位),并且是原来的两倍。例如,第3阶段袋鼠的活动模式如下所示。
o o o o
o o o o o o o o
o o o o o
所有这些跳跃都需要能量,所以袋鼠在完成每种活动模式后都需要营养。所需的确切数量可以如下计算。
在阶段n袋鼠的活动模式中为每个o分配高度,即从1到n的数字,其中1对应地面,n对应最高位置。
计算活动模式中所有高度的总和。
例如,阶段3袋鼠的活动模式包括以下高度。
3 3 3 3
2 2 2 2 2 2 2 2
1 1 1 1 1
我们有5 个 1、8个2和4个3。总和为5·1 + 8·2 + 4·3 = 33。
任务
编写一个以正整数n为输入并打印或返回阶段n袋鼠活动所需营养的完整程序或函数。
这是代码高尔夫球;以字节为单位的最短答案可能会获胜!
例子
1 -> 1
2 -> 7
3 -> 33
4 -> 121
5 -> 385
6 -> 1121
7 -> 3073
8 -> 8065
9 -> 20481
10 -> 50689
http://www.wolframalpha.com/input/?i=2%5E(n-1)*(n%5E2-1)%2B1
(奇怪的标记,因为常规URL被弄乱了)