Leetcode--263--ugly number
1、题目:
Write a program to check whether a given number is an ugly number.
Ugly numbers are positive numbers whose prime factors only include 2, 3, 5
. For example, 6, 8
are ugly while 14
is not ugly since it includes another prime factor 7
.
Note that 1
is typically treated as an ugly number.
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则指定的数字是丑数(返回真),否则不是(返回假)。
public class Solution { public boolean isUgly(int num) { if(num<=0) return false; if(num==1) return true; while(num>1) { if(num%2==0) num/=2; else if(num%3==0) num/=3; else if(num%5==0) num/=5; else return false; } return true; } }