标签:
题目:
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 或者 3 或者 5 整除,然后除以之后的结果依然满足丑数的条件。
不断循环,直到这个数不再变化。此时如果是 1 则是丑数,否则不是。
class Solution {
public:
bool isUgly(int num) {
if(num == 1 || num == 2 || num == 3 || num == 5) return true;
int tmp = 0;
while(tmp != num)
{
tmp = num;
if(num % 2 == 0) num = num / 2;
if(num % 3 == 0) num = num / 3;
if(num % 5 == 0) num = num / 5;
}
if(tmp == 1)
return true;
else
return false;
}
};版权声明:本文为博主原创文章,转载请联系我的新浪微博 @iamironyoung
标签:
原文地址:http://blog.csdn.net/ironyoung/article/details/49045933