我正试图解决Codechef中的this问题现在根据问题,如果有10个房子,他可以选择3个连续的房子,或4,或5或者10。现在,从m
房屋中选择n
连续房屋的方法有很多所以我必须把n-m+1
和n-m+1
相加,从3到m
也就是说,我将从n
,n-2
到1的数字相加。在AP中,值应该是n-1
(通过公式((n-2)(n-1))/2
)这就是代码的作用但是我收到了一个错误的回答信息我错在哪里n(n+1)/2
用于进行模幂运算,以便在任何阶段都不会超出界限。
testcase = int(raw_input())
m = 10**9 + 7
for i in xrange(0,testcase):
n = int(raw_input())
ans = ((pow(n,2,m)-3*n+2)/2)%m
print ans
最佳答案
你也算这个案子吗?
( * * * * * * * * * * )
^ ^ ^ ^ ^ ^
我相信你跳过了这个例子。(如果我正确地遵循了你的算法)
这只是一个暗示,尽管问跑步比赛的问题根本不好。
关于python - 我的算法找不到任何错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12236977/