[编程题] 寻找丑数
时间限制:1秒
空间限制:65536K
把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
输入描述:
整数N
输出描述:
第N个丑数
输入例子1:
6
输出例子1:
6
#include<iostream>
using namespace std;
int main()
{
int N;
while(cin>>N)
{
int count=0;
int num=1;
while(count<N)
{
int k=num;
while(0==k%2)
{
k/=2;
}
while(0==k%3)
{
k/=3;
}
while(0==k%5)
{
k/=5;
}
if(1==k)
{
count++;
}
num++;
}
cout<<num-1<<endl;
}
return 0;
}