main
黄海 2 years ago
parent 1ac4f8977a
commit ee5d06b78c

@ -7,10 +7,13 @@ const int Six = 166666668; /// 62关于mod的乘法逆元
const int Two = 500000004;
const int mod = 1e9 + 7; /// 尽量这样定义mod ,减少非必要的麻烦
inline int Mod(int a, int b) {
int Mod(int a, int b) {
return (a % mod) * (b % mod) % mod;
}
inline int F(int k, int n) { /// 求(k*n)^2+k*n
// 递推函数可以用通项式直接求解
// 通项式a[kn]=(k*n)^2+k*n
int F(int k, int n) {
return (Mod(k, k) * Mod(Mod(n, n + 1), Mod(n + n + 1, Six)) % mod + Mod(Mod(1 + n, n), Mod(k, Two))) % mod;
}
@ -23,7 +26,7 @@ signed main() {
int n, m;
while (cin >> n >> m) {
int sum = F(1, n), ans = 0; /// 计算总和sum
int sum = F(1, n), ans = 0; // 计算总和sum
int t = m; // 复制出来
for (int i = 2; i * i <= t; i++) {

Loading…
Cancel
Save