题目描述:点击打开链接
/*
思路: 丑数的因子只能为2,3,5,而最小的丑数为1,
所以反过来思考,每次利用最小的丑数乘以2,3,5,
必然能得到所有的丑数
*/
import java.util.TreeSet;
public class Main
{
public static void main(String[] args)
{
TreeSet<Long> set = new TreeSet<>();
set.add((long) 1);
for(int i=1;i<1500;++i)
{
long num = set.pollFirst();
set.add(2*num);
set.add(3*num);
set.add(5*num);
}
System.out.println("The 1500'th ugly number is "+set.pollFirst()+".");
}
}