UVA 136


题目描述:点击打开链接



/*
    思路: 丑数的因子只能为2,3,5,而最小的丑数为1,
    所以反过来思考,每次利用最小的丑数乘以2,3,5,
    必然能得到所有的丑数
*/
import java.util.TreeSet;
public class Main
{
	public static void main(String[] args) 
	{
		TreeSet 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()+".");
	}
}




你可能感兴趣的:(基础数据结构&算法)