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.
Credits:
Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.
除2,3,5就好了。
1 class Solution { 2 public: 3 bool isUgly(int num) { 4 if(num==1) return true; 5 if(num<1) return false; 6 while(num%2==0) 7 { 8 num/=2; 9 } 10 while(num%3==0) 11 { 12 num/=3; 13 } 14 while(num%5==0) 15 { 16 num/=5; 17 } 18 if(num==1) return true; 19 else return false; 20 } 21 };
原文:http://www.cnblogs.com/Sean-le/p/4767157.html