丑数
只包含因子2,3,5的正整数被称作丑数,比如4,10,12都是丑数,而7,23,111则不是丑数,另外1也是丑数。即因子中的所有质数范围在{2,3,5}之间,否则则不是丑数。
判断方法
首先除2,直到不能整除为止,然后除5到不能整除为止,然后除3直到不能整除为止。最终判断剩余的数字是否为1,如果是1则为丑数,否则不是丑数。
用计算机辨别:
if(num > 0)
for(int i = 2; i < 6; i++)
while(num % i == 0)
num /= i;
return num == 1;
证明:(个人方法)
现有一数为num,其中num = n1 * n2 = n3 * n4,n1 不等于n3,n4,n2也不等于n3,n4,则可得n1/n3 = n4/n2,现在不妨假设n1为质数,且n1 不等于2,3,5,那么现在n1/n3是最简形式,n4/n2=n1/n3,要么n4=n1,n2=n3,要么n4=x* n1,n2=x* n3,那么无论怎样的乘式(=num)都可以转换成n1 * n3 * x,因为n1为质数,且不等于2,3,5,那么用这三个数除num,都不可能最终使num==1,于是得到这样一个结论,上面的程式可以判断一个数不是丑数,那么它可以判断一个数是丑数吗,首先质数不是丑数,而一个合数不是丑数,这意味着它要么没有质数因子,要么质数因子中只有2,3,5,那么它就是一个丑数,综上,上面的程式可以判断出一个数是否为丑数。