最佳答案
给你个参考:
#include //丑陋数
int isugly(int n) //判断n是否为丑陋数
{
while(n % 2 == 0)
n = n / 2;
while(n % 3 == 0)
n = n / 3;
while(n % 5 == 0)
n = n / 5;
return n == 1;
}
/* 另一算法
int isUgly(int num)
{
while(num >= 2)
{
if(num % 2 == 0) num /= 2;
else if(num % 3 == 0) num /= 3;
else if(num % 5 == 0) num /= 5;
else return 0;
}
return num == 1;
}
*/
int main()
{
int a = 1, i, j, ct = 0; //第一个从1开始
while(ct < 150)
{
if(isugly(a))
{
printf("%d\n", a);
ct++;
}
a ++;
}
return 0;
}
最佳答案由网友 whoami1978 提供