1、题目名称
Ugly Number(丑数1:判断指定数字是否为丑数)
2、题目地址
https://leetcode.com/problems/ugly-number
3、题目内容
英文:Write a program to check whether a given number is an ugly number.
中文:写程序判断指定数字是否为丑数
说明:丑数具有如下特征:1是丑数,丑数可以表示为有限个2、3、5的乘积
注意:本题的目标不是“判断第N个丑数”,关于“判断第N个丑数”,请参考Ugly Number II(LeetCode #264)
4、解题方法
根据丑数的定义,可以通过如下方法判断一个数字n是否为丑数:可以试着用2、3、5不断整除n,当n不能再被2、3、5整除时,判断n是否等于1,等于1则指定的数字是丑数(返回真),否则不是(返回假)。
Java代码如下:
/**
* 功能说明:LeetCode 263 - Ugly Number
* 开发人员:Tsybius2014
* 开发时间:2015年8月23日
*/
public class Solution {
/**
* 判断数字是否为丑数
* @param num 被判断数字
* @return true:丑数,false:非丑数
*/
public boolean isUgly(int num) {
if (num <= 0) {
return false;
}
while (num % 2 == 0) num /= 2;
while (num % 3 == 0) num /= 3;
while (num % 5 == 0) num /= 5;
if (num == 1) {
return true;
} else {
return false;
}
}
}
END
来源:oschina
链接:https://my.oschina.net/u/1425762/blog/495953