Ugly Number问题及解法
2017-03-30 10:26
127 查看
问题描述:
Write a program to check whether a given number is an ugly number.
Ugly numbers are positive numbers whose prime factors only include
not ugly since it includes another prime factor
Note that
问题分析:
只要一个正整数中的素因子不止2,3,5其中的几个,那么就不是ugly number,所以,我们只需要把该整数所有的2,3,5素因子除完,看看最后值是否等于1即可。
过程详见代码:
class Solution {
public:
bool isUgly(int num) {
int last = num;
while(num > 0)
{
if(num % 2 == 0) num = num / 2;
if(num % 3 == 0) num = num / 3;
if(num % 5 == 0) num = num / 5;
if(last == num) break;
last = num;
}
return num == 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, 8are ugly while
14is
not ugly since it includes another prime factor
7.
Note that
1is typically treated as an ugly number.
问题分析:
只要一个正整数中的素因子不止2,3,5其中的几个,那么就不是ugly number,所以,我们只需要把该整数所有的2,3,5素因子除完,看看最后值是否等于1即可。
过程详见代码:
class Solution {
public:
bool isUgly(int num) {
int last = num;
while(num > 0)
{
if(num % 2 == 0) num = num / 2;
if(num % 3 == 0) num = num / 3;
if(num % 5 == 0) num = num / 5;
if(last == num) break;
last = num;
}
return num == 1;
}
};
相关文章推荐
- Ugly Number II问题及解法
- LeetCode Single Number I & II 都符合两个问题额外要求的 通用解法 与 思考过程
- Ugly Number(丑数)系列题 Python解法
- DP问题:leetcode(264) Ugly Number II
- LeetCode Single Number I & II 都符合两个问题额外要求的 通用解法 与 思考过程
- Binary Number with Alternating Bits问题及解法
- Excel Sheet Column Number问题及解法
- Perfect Number问题及解法
- Number of Boomerangs问题及解法
- Guess Number Higher or Lower II问题及解法
- Minimum Number of Arrows to Burst Balloons问题及解法
- [理解leetcode解法]264. Ugly Number II
- Convert a Number to Hexadecimal问题及解法
- Complex Number Multiplication问题及解法
- Valid Triangle Number问题及解法
- Find the Duplicate Number问题及解法
- Third Maximum Number问题及解法
- Single Number III问题及解法
- LeetCode Single Number I & II 都符合两个问题额外要求的 通用解法 与 思考过程
- Guess Number Higher or Lower问题及解法