这将根据输入数字打印出具有相同余数和商的数字之和。这是一个在线判断问题,而且由于时间太长,它目前会造成一个暂停。是的,被除数可以是任何正整数。
有关于加速这个代码的建议吗?有什么小技巧或良好的实践习惯可以使Python代码更快、更有效地存储吗?
import sys
n = input()
result = 0
for num in xrange(1, sys.maxint):
if num % n == num / n:
result += num
if num / n > n:
break
print result发布于 2015-01-02 08:53:04
答案总是1*n+1 + 2*n+2 + 3*n+3 + ... + (n-1)*n+(n-1)。
因此,您最好使用下面的循环来计算这个值:
for i in xrange(1,n):
result += i*n+i请注意,本系列中的每个术语都是n+1的倍数。
因此,答案可以写成(n+1)*(1+2+3+...+n-1)。
因此,您可以像result = (n+1)*n*(n-1)/2一样简单地计算它。
https://codereview.stackexchange.com/questions/75475
复制相似问题