P3951 小凯的疑惑 / 买不到的数目【这题简单】

发布时间 2023-07-02 18:44:34作者: _余烬

基础数论题
花了一会儿,不难想出来

题意:求互质的两个数 \(a,b\) 的线性组合所不能表示的最大数字
这题简单,设 \(a<b\)
如果一个数 \(k\) 可以被表示,哪么就可以写成:

\(k = x*a+y*b\)

例如5,9,将非负整数划分为许多个区间 \([n*b,(n+1)*b)\) ,分别为:

\([0,9), [9,18), [18,27)\)……

可以发现 \(m*a\),也就是 \(5m\) 分别处于区间的索引:

0,5,1,6,2,7,3,8,4,,,,,0,5……

也就是说大于 \(5*9\), 即 \(a*b\)的所有数字均可以用a,b表示
例如 \(48 \equiv 3 (mod 9)\)
3位于表中的索引为 \(6\)

\(45+3 = 5*6 + n*9\);

再仔细看,发现数组中出现的最后一个模为4,即9-5,
对应的数字是40,即\((5-1)*9\)

\((a-1)*b\)

那么模9为4的最大数字是31,即(5-1)*9-9即:

\((a-1)*b - a\)
\(a*b-a-b\)