摘要:
这题想了好久,代码也打了好久。挺不错的一道数论题。题目是要求两个集合(1...b, 1...d)中有多少对数的最大公约数为K,此问题等价于求两个集合(1...b/k,1...d/k)中有多少对数互质。不妨设b<d,则题目可以分为两部分求解,即:①(1...b)与(1...b)中有多少对数互质②(1...b)与(b+1...d)中有多少对数互质问题1就是欧拉函数的应用,就不详细说了。对于问题2,直接求不好求,我们倒过来想。对于(b+1...d)中的每一个y,要想知道(1...b)中有多少数与它互质,我们只需要知道多少个数与它不互质即可。而两个数不互质就意味着它们有公因子。对于每一个y的因子 阅读全文
posted @ 2011-12-11 14:35
moonbay
阅读(305)
评论(0)
推荐(0)
浙公网安备 33010602011771号