标签:丑数 add size imp util i++ ber 第一个 ret
题目描述:把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
思路:先进行了存储
ac代码:
1 import java.util.ArrayList; 2 public class Solution { 3 static ArrayList<Integer>list=new ArrayList<Integer>(); 4 static { 5 for(int i=0;i<7;i++) 6 list.add(i); 7 for(int i=8;i<=1000000000;i++) 8 { if(isCh(i)) 9 list.add(i); 10 } 11 } 12 public int GetUglyNumber_Solution(int index) { 13 return list.get(index); 14 } 15 static boolean isCh(int n){ 16 while(n%2==0||n%3==0||n%5==0){ 17 if(n%2==0) 18 n=n/2; 19 if(n%3==0) 20 n/=3; 21 if(n%5==0) 22 n/=5; 23 } 24 if(n==1) 25 return true; 26 return false; 27 } 28 }
标签:丑数 add size imp util i++ ber 第一个 ret
原文地址:https://www.cnblogs.com/llsq/p/8809552.html