class Solution {
public:
int Min(int n1,int n2,int n3){
int min = (n1 < n2) ? n1 : n2;
min = (min < n3) ? min : n3;
return min;
}
int GetUglyNumber_Solution(int index) {
if(index < 1)
return 0;
int ugly[index];
ugly[0] = 1;
int next = 1;
int index2 = 0;
int index3 = 0;
int index5 = 0;
while(next < index){
int min = Min(ugly[index2]*2,ugly[index3]*3,ugly[index5]*5);
ugly[next] = min;
while(ugly[index2] * 2 <= min)
index2++;
while(ugly[index3] * 3 <= min)
index3++;
while(ugly[index5] * 5 <= min)
index5++;
next++;
}
return ugly[index-1];
}
};