是校内模拟题。
已知两个数 x,y,求有多少个正整数不能被 ax+by,a≥0,b≥0 表示。
1≤x,y≤108
题解:
考虑到若 (x,y)=1 那么一定输出 −1,所以我们只需要考虑 (x,y)=1 的情况.
我们知到,若 ai(1≤i≤n) 构成模 n 的完系,k.m∈Z,(m,n)=1,则 k+mai(1≤i≤n) 也构成模 n 的完系.
我们可以考虑模 b 为 1 到 b−1 的每个值最小什么时候出现,那么显然此时我们不选 b,然后又由于上述性质,我们可以直接求出余数为每个值的最小值.
由此可知,答案为
i=1∑y−1⌊yix⌋
简单化简即可得到答案.
问学长:

