/* 除去次方数
* 自然数的平方数是:1 4 9 16 25 …
自然数的立方数是:1 8 27 64 125 …
自然数的4次方数是:1 16 81 256 …
…
这些数字都可以称为次方数。
1~10000中,去掉所有的次方数,还剩下多少个数字?
*/
import java.util.Set;
import java.util.HashSet;
public class T05 {
public static void main(String[] args){
Set<Double> sets = new HashSet<Double>();
sets.add(1.0); // 添加第一个元素 1
int i,j=2;
for(i=2;Math.pow(i, j)<=10000;i++){
for(j=2;Math.pow(i, j)<=10000;j++){
sets.add(Math.pow(i, j));
}
j = 2;
}
System.out.println(10000-sets.size());
}
}
运行结果:
9875