给你两个数 a,b.问你区间 [1,N]中都是有多少个数是a,b的公倍数.当数据很大的时候,遍历肯定会超时.其实,我们可以首先求出 lcm(a,b).因为我们知道(a,b)公倍数都是它最小公倍数的倍数.所以,我们只需要求[1,N]中lcm(a,b)的倍数------即在[1,N]中有多少个数能被lcm(a,b)整数.答案就是: N/lcm(a,b). 为不失一般性,我们把区间推广到[N,M].那么我们显然是可以求[1,N]的值和[1,M]的值.然后减去重叠部分即可. #include <cstd…