用户输出
2
系统信息
Exited with return code 0
编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#64018 | #1243. zxh的高等数学 | Accepted | 100 | 6174 ms | 38380 K | Python 3 / 638 B | 强基(数学)001 吴沂钊 | 2021-12-23 14:43:03 |
import math
def combine(n, m):
m = min(m, n - m)
res = 1
for i in range(m):
res = (res * (n - i)) // (i + 1)
return res
p = 998244353
n = int(input())
m = int(math.log2(n))
x = tuple([0] + [int(pow(n, 1 / i)) for i in range(1, m + 1)])
mat = [[0 for j in range(m + 2)] for i in range(m + 1)]
for i in range(1, m + 1):
mat[i][0] = x[i]
for j in range(1, i + 2):
mat[i][j] = ((x[i] + 1) ** (j + 1) - 1 - sum(combine(j + 1, l) * mat[i][l] for l in range(j))) // (j + 1)
answer = sum((n + 1) * (mat[i][1] - 1) - (mat[i][i + 1] - 1) for i in range(1, m + 1))
print(answer % p)