方法:先对n分解质因数,分别记录每个质因数,那么所求区间内与某个质因数不互质的个数就是n / r(i),假设r(i)是r的某个质因子。假设只有三个质因子,总的不互质的个数应该为p1+p2+p3-p1*p2-p1*p3-p2*p3+p1*p2*p3,及容斥原理,可以转向百度百科查看相关内容pi代表n/r(i),即与某个质因子不互质的数的个数当有更多个质因子的时候,可以用状态压缩解决,二进制位上是1表示这个质因子被取进去了。如果有奇数个1,就相加,反之则相减View Code #include<vector>#include<cstdio>using namespace s Read More
posted @ 2012-01-03 12:31 Because Of You Views(1640) Comments(0) Diggs(0) Edit