原文链接:http://www.cnblogs.com/DrunBee/archive/2012/09/05/2672546.html 题意:给你一个正整数N,确定在1到N之间有多少个可以表示成M^K(K>1)的数. 我们可以由n^(1/p),知道指数为p的有多少个数. 通过观察,可以发现若一个数可以表示成x^(k*t),则可以表示成(x^k)^t.因此指数必然为素数. 枚举素数便可以得到指数为p的个数,但是可能出现重复,例如:x^3=y^5,其中x=t^5,y=t^3. 运用容斥原理,设a[i…