我的算法找不到任何问题



我正试图在Codechef中解决这个问题。现在,根据这个问题,如果有10套房子,他可能会犯错误,选择3套连续的房子,或者4套,或者5套。。。或10。现在,从n房屋中选择m连续房屋的方法的数量为n-m+1。所以我必须取n-m+1m的和,从3开始到n。也就是说,我将从n-2n-1到1的数字相加。在AP中,该值应该是((n-2)(n-1))/2(通过公式n(n+1)/2)。这就是这个代码的作用。然而,我收到了一条错误的回复信息。我哪里错了?pow是用来做模幂运算的,这样数字在任何阶段都不会越界。

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   

你也算这个案子吗?

( * * * * * * * * * * )
  ^ ^ ^   ^ ^ ^

这只是一个我相信你跳过的例子。(如果我确实正确地遵循了你的算法)

这只是一个暗示,尽管问跑步比赛问题根本不好。

相关内容

最新更新