题目描述
有 n 个人,编号为 1 到 n,坐在环上玩约瑟夫。
他们从 1 到 m 循环报数,与正常约瑟夫不同的是,没有报到 1 的人都会被淘汰,直至只有一个人活下来为止。
设活下来的人编号为 x,则记 Jm(n)=x。
给定 m,l,r,求 ∑i=lrJm(i),输出对 998244353 取模。
输入格式
本题有多组数据。
第一行一个正整数 T,表示数据组数。
对于每组数据:
一行三个整数,依次为 m,l,r。
输出格式
对于每组数据:
输出一行一个整数,表示答案对 998244353 取模的结果。
题解
代码功能概述
这段代码主要解决了一个关于特定数学计算的问题,根据输入的多组数据(每组包含 m
、l
、r
三个参数),计算某个范围内的数值之和,并对结果取模(模值为 998244353
)。代码中提供了三种不同复杂度的解法,分别在不同的命名空间中实现,最终在 main
函数中调用 Sol
命名空间下的解法。<