1

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

import math

n = int(input())

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

输入格式是第一行包含测试用例的数量T。然后T个测试用例如下:

2
1
3
4

1 回答 1

1

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

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

于 2015-07-05T05:25:17.053 回答