帕斯卡三角行的总和

Sum of Pascal's Triangle rows

我实现了一种算法来求出 Pascal 三角形行的总和,但是对于比赛来说速度很慢。我的程序通过了 4 个测试用例,但在下一个测试用例中失败并出现运行时错误。我可以让我的代码更快吗?

import math

n = int(input())

for i in range(n):
    print int(math.pow(2, (int(input())-1)))

Input Format是第一行包含测试用例T的数量。然后是T个测试用例:

2
1
3

Math.pow 适用于浮点数,因此对于大指数,解可能不精确。此外,对于超过 1023 的值,它会抛出 OverflowError.

改用 x ** y 运算符,或内置 pow 函数。