标签:
题目:
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