2346: 数论分块
[Creator : ]
Description
众所周知,zbc不擅长数学,所以邀请队友救一下。
这里需要介绍一个高深的符号:$\%$,它表示的意思是取模($\textit{modulo}$),或者叫取余数,例如:$14$除以$3$等于$4$余$2$,因此$14\%3=2$。
定义就那么简单,相信你一眼就能看懂,但zbc却看了好久还是一头雾水,所以下面这个和取模有关的问题他就只能求助于你啦!
计算$\sum_{i=1}^{n}{(n\%i)}$
推导一下:
因为答案可能很大,因此只需要输出答案需要对$998244353$取模后的结果就好啦,是不是更简单了!
这里需要介绍一个高深的符号:$\%$,它表示的意思是取模($\textit{modulo}$),或者叫取余数,例如:$14$除以$3$等于$4$余$2$,因此$14\%3=2$。
定义就那么简单,相信你一眼就能看懂,但zbc却看了好久还是一头雾水,所以下面这个和取模有关的问题他就只能求助于你啦!
计算$\sum_{i=1}^{n}{(n\%i)}$
推导一下:

因为答案可能很大,因此只需要输出答案需要对$998244353$取模后的结果就好啦,是不是更简单了!
Input
仅一个整数$n$。
1<=n<=1000000000000
1<=n<=1000000000000
Output
一个整数,代表答案对$998244353$取模后的结果。
Sample Input Copy
5
Sample Output Copy
4
HINT
$5\% 1=0$,$5\% 2=1$,$5\% 3=2$,$5\% 4=1$,$5\% 5=0$,因此$0+1+2+1+0=4$。
如果没有思路,可以现学一下:【数论】整除分块(数论分块)-CSDN博客
__int128:long long 不够用?详解 __int128 - FReQuenter - 博客园 (cnblogs.com)
代码:在线剪贴板 (nugine.xyz)
如果没有思路,可以现学一下:【数论】整除分块(数论分块)-CSDN博客
__int128:long long 不够用?详解 __int128 - FReQuenter - 博客园 (cnblogs.com)
代码:在线剪贴板 (nugine.xyz)