1228 序列求和
基準時間限制:3 秒 空間限制:131072 kb 分值: 160 難度:6級演算法題
收藏關注t(n) = n^k,s(n) = t(1) + t(2) + ...... t(n)。給出n和k,求s(n)。
例如k = 2,n = 5,s(n) = 1^2 + 2^2 + 3^2 + 4^2 + 5^2 = 55。
由於結果很大,輸出s(n) mod 1000000007的結果即可。
input
第1行:乙個數t,表示後面用作輸入測試的數的數量。(1 <= t <= 5000)output第2 - t + 1行:每行2個數,n, k中間用空格分割。(1 <= n <= 10^18, 1 <= k <= 2000)
共t行,對應s(n) mod 1000000007的結果。input示例
3output示例5 34 2
4 1
int b[2005];//伯努利數
void init()//伯努利數打表
inv[1]=1;
for (int i=2;i<2001;i++) inv[i]=(ll)inv[mod % i] * (mod-mod/i) % mod;
for (int i=1;i<2001;i++)
ans=(ll)ans*inv[k+1] % mod;
cout
}
51nod1228 序列求和 (伯努利數)
1228 序列求和 hackerrank 基準時間限制 3 秒 空間限制 131072 kb 分值 160 難度 6級演算法題 t n n k,s n t 1 t 2 t n 給出n和k,求s n 例如k 2,n 5,s n 1 2 2 2 3 2 4 2 5 2 55。由於結果很大,輸出s n m...
51nod1228 序列求和
設t n n k,s n n i 1t i 給出n和k,求s n 例如k 2,n 5,s n 1 2 2 2 3 2 4 2 5 2 55。由於結果很大,輸出s n mod 1000000007的結果即可。t 5000 k 2000 n 10 18 n很大,所以複雜度不應該帶n 關於求自然數冪和,這...
51nod 1228 序列求和
t n n k,s n t 1 t 2 t n 給出n和k,求s n 例如k 2,n 5,s n 1 2 2 2 3 2 4 2 5 2 55。由於結果很大,輸出s n mod 1000000007的結果即可。input 第1行 乙個數t,表示後面用作輸入測試的數的數量。1 t 5000 第2 t ...