時間限制: 1 sec 記憶體限制: 128 mb
提交: 91 解決: 48
[提交] [狀態] [命題人:admin]
題目描述
給出正整數n和k,計算j(n,k)=k mod 1 + k mod 2 + k mod 3 +⋯+ k mod n的值。其中
k mod i表示k除以i的餘數。
例如j(5,3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 + 3 mod 5 = 0 + 1 + 0 + 3 + 3 = 7
輸入輸入僅一行,包含兩個整數n,k(1≤n,k≤109)。
輸出輸出僅一行,即j(n,k)。
複製樣例資料
5 3樣例輸出
7提高
對於給定正整數i和n滿足$ i \leq n$,使得$\lfloor \frac \rfloor = \lfloor \frac \rfloor$成立的最大的x為$\frac \rfloor}$
$k \% i =k- \lfloor \frac \rfloor \times i$ ,利用分塊及等差數列求和公式快速求解
#include "bits/stdc++.h
"using
namespace
std;
typedef
long
long
ll;int
main()
cout
<< ans
}
posted @
2019-04-10 19:37
albert_liu 閱讀(
...)
編輯收藏
求餘數(同餘定理)
現在給你乙個自然數n,它的位數小於等於一百萬,現在你要做的就是求出這個數除10003之後的餘數 輸入第一行有乙個整數m 1 m 8 表示有m組測試資料 隨後m行每行有乙個自然數n。輸出輸出n整除10003之後的餘數,每次輸出佔一行。樣例輸入34 5465456541 樣例輸出45 如下 同餘定理 a...
大整數的求餘數
現在給你乙個自然數n,它的位數小於等於一百萬,現在你要做的就是求出這個數除10003之後的餘數 輸入 第一行有乙個整數m 1 m 8 表示有m組測試資料 隨後m行每行有乙個自然數n。輸出 輸出n整除10003之後的餘數,每次輸出佔一行。include include include include ...
求餘數(同餘定理)
現在給你乙個自然數n,它的位數小於等於一百萬,現在你要做的就是求出這個數除10003之後的餘數 輸入第一行有乙個整數m 1 m 8 表示有m組測試資料 隨後m行每行有乙個自然數n。輸出輸出n整除10003之後的餘數,每次輸出佔一行。樣例輸入34 5465456541 樣例輸出45 如下 同餘定理 a...