Ugly Number II
Write a program to find the n
-th ugly number.
Ugly numbers are positive numbers whose prime factors only include 2, 3, 5
.
Example:
Input: n = 10 Output: 12 Explanation:1, 2, 3, 4, 5, 6, 8, 9, 10, 12
is the sequence of the first10
ugly numbers.
Note:
1
is typically treated as an ugly number.n
does not exceed 1690.
class Solution {
public:
int nthUglyNumber(int n) {
int a[n];
a[0]=1;
int ind2=0,ind3=0,ind5=0;
for(int i=1;i<n;++i)
{
a[i]=min(a[ind2]*2,min(a[ind3]*3,a[ind5]*5));
if(a[i]==(a[ind2]*2))++ind2;
if(a[i]==a[ind3]*3)++ind3;
if(a[i]==a[ind5]*5)++ind5;
}
return a[n-1];
}
};