LeetCode:Ugly Number

不想你离开。 提交于 2019-12-06 09:18:31

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!