丑数是指不能被2,3,5以外的其他素数整除的数。把丑数从小到大排列起来,结果如下: 1,2,3,4,5,6,8,9,10,12,15…… 求第1500个丑数
输入
没有输入
输出
The 1500'th ugly number is <number>.
思路:可能有些人还不知道丑数定义
下面是他定义:只包含因子2,3,5的正整数被称作丑数,比如4,10,12都是丑数,而7,23,111则不是丑数,另外1也是丑数
判断方法
首先除2,直到不能整除为止,然后除5到不能整除为止,然后除3直到不能整除为止。最终判断剩余的数字是否为1,如果是1则为丑数,否则不是丑数。
我是打标的:
代码:
#include<iostream>
using namespace std;
int panduan(int n)
{
while(n%2==0)
{
n/=2;
}
while(n%5==0)
{
n/=5;
}
while(n%3==0)
{
n/=3;
}
if(n==1)
{
return 1;
}
else{
return 0;
}
}
int main()
{
/*int g = 1,i=1;
while(1)
{
if(panduan(i))
{
printf("%d:%d\n",g,i);
g++;
}
if(g >= 1502)
{
break;
}
i++;
}*///打表代码
printf("The 1500'th ugly number is 859963392.\n");
return 0;
}