我想在Codechef解決this問題。現在,根據問題,如果有10間房子,他可以選擇任一連續3房或4或5,......或10.現在的方式可以選擇連續m
房屋數量從n
房屋犯錯誤是n-m+1
。所以,我必須採取的n-m+1
的總和與m
從3開始高達n
。也就是說,我從n-2
,n-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
這是一個正在運行的較量..如果妳回答這是不公平的人。 –
是的,這就是爲什麼我不提交這一個。前一段時間,我在這個論壇上提出了另一個類似的問題,儘管我得到了一個有效的答案,但我沒有提交。 – SexyBeast
您是否用小數字對其進行了測試並手動計算了預期結果?也許測試用例一個低於3,並返回一個負 – Gir