传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2005
题解:
设f[i]表示gcd(x,y)=i 的个数(1<=x<=n,1<=y<=m),那么最后的结果就是,其中n=min(n,m)。
那么现在关键就是求解f[i]了。其中gcd(x,y)=i的倍数为[n/i]*[m/i],但是这个包括了i的倍数,所以-2i-3i-……。
为了避免算术,我们逆过来求就行了。
AC代码:
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2005
题解:
设f[i]表示gcd(x,y)=i 的个数(1<=x<=n,1<=y<=m),那么最后的结果就是,其中n=min(n,m)。
那么现在关键就是求解f[i]了。其中gcd(x,y)=i的倍数为[n/i]*[m/i],但是这个包括了i的倍数,所以-2i-3i-……。
为了避免算术,我们逆过来求就行了。
AC代码: