a699: 數列和 - serial
Tags :
Accepted rate : 17人/31人 ( 55% ) [非即時]
評分方式:
Tolerant

最近更新 : 2022-06-30 15:16

Content

若我們要找出 1+2+3+...+n 的和,你可以寫一個簡單的程式把它們一個一個的加起來,又或者可以直接使用以下公式:

Sn = ( 1 + n ) * n / 2​

這條題目就是這麼的簡單,你要做的正是找出這個數列和。不過,由於 nn 可能會很大,所以你不必找出確實的 Sn​ 而只要找出 Sn​ 的最後 9 個位。

Input

每個輸入數據含有多個測試數值,對於每個測試數值你都要找出正確答案才可以取得該測試數據的分數。以下是每個輸入數據的格式。

輸入數據的第一行上有一個正整數 K,它代表本測試數據中有多少個測試點 (1≤ni​≤1040 )。

Output

輸出資料應只含有 K 個整數,每個整數獨立放在一行上。這些整數順次代表著 Sni 的最後 9 個位的數值。這些數值不能以 0 作為第一位數 (除非數值本身為 0)。換言之實際輸出的數值可能少於 9 個位。

Sample Input #1
2
18
45011
Sample Output #1
171
13017566
測資資訊:
記憶體限制: 16 MB
不公開 測資點#0 (10%): 1.0s , <1K
不公開 測資點#1 (10%): 1.0s , <1K
不公開 測資點#2 (10%): 1.0s , <1K
不公開 測資點#3 (10%): 1.0s , <1K
不公開 測資點#4 (10%): 1.0s , <1K
不公開 測資點#5 (10%): 1.0s , <1K
不公開 測資點#6 (10%): 1.0s , <1K
不公開 測資點#7 (10%): 1.0s , <1K
不公開 測資點#8 (10%): 1.0s , <1M
不公開 測資點#9 (10%): 1.0s , <1M
Hint :

上例要找的和有兩個,

第一個是 1+2+3+...+18=171,

第二個是 1+2+3++...+45011=1013017566 但只取其最後 9 個位且不以 0 為首位,所以答案為 13017566。

Tags:
出處:
MOI 2018 [管理者:
lamkinun@gma... (Kinda Lam)
]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」