我正试图解决Codechef中的this问题现在根据问题,如果有10个房子,他可以选择3个连续的房子,或4,或5或者10。现在,从m房屋中选择n连续房屋的方法有很多所以我必须把n-m+1n-m+1相加,从3到m也就是说,我将从nn-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/

10-10 15:58