题意: 求在区间 内满足 , 且对于任意 都不满足 的数 的个数。 做法:分块+数学 思路: 1.求区间满足个数可以转化为的个数减去 2.由题意易得k一定是个质数,否则一定不存在满足不满足 的数 因为k会被 整除,所以一定 3.同时i要同时满足是k的倍数且k是最小公因数 4.所以综上所述可以进行分类讨论1)如果是质数则满足个数为2)如果右边界小于,则满足个数为3)如果右边界小于,则满足个数为(那个满足的数等于)4)否则可进行分块,满足的个数为减去不满足的数(它的最小公因数不为) 以上最小公因数均不包含 代码 #include <bits/stdc++.h> using n...