回 帖 发 新 帖 刷新版面

主题:[讨论]数学问题,数学问题!!

[em10]
Ugly numbers are numbers whose only prime factors are 2, 3 or 5. The sequence 

1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, ... 

shows the first 11 ugly numbers. By convention, 1 is included. 

Write a program to find and print the n'th ugly number. 
时间,怎么判断一个数是Ugly number啊??

回复列表 (共7个回复)

沙发

Ugly number:主要因子(不包括1和自身)只有2,3,5的整数
明白了吗?呵呵

板凳

prime factor:应该译为素数因子。

3 楼

一个数只有2,3,5做素因子,那就是说这个数可以表示成2^a*3^b*5^c,一个(a,b,c)就确定一个Ugly number,所以前面几个是:
1(a=b=c=0),2,3,4,5,6,...

4 楼

这个问题从数学角度来讲很难,但是从编程的角度来讲,很简单,两句话
if(n%2==0|| n%3==0 || n%5==0 || n==1)return(1);
else return(0);

5 楼

另外再加上1

6 楼

楼上的判断方法不对啊,它是要求只有2,3,5的因子,而不是有,有和只有不同。

如果数据不大可以这样判断:
bool isuglynum(int n_num)
{
   while(n_num%2==0)n_num/=2;
   while(n_num%3==0)n_num/=3;
   while(n_num%5==0)n_num/=5;
   return n_num==1;
}

7 楼

谢谢rickone指点,我明白你的意思了,你是对的!我错了

我来回复

您尚未登录,请登录后再回复。点此登录或注册