263. Ugly Number(判断是否是丑数 剑指offer34)
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.
暴力dfs:
class Solution { public: bool isUgly(int n) { if (n==0) return false; if (n==1) return true; if (n%2==0) return isUgly(n/2); if (n%3==0) return isUgly(n/3); if (n%5==0) return isUgly(n/5); return false; } };
1 class Solution { 2 public boolean isUgly(int n) { 3 if(n==0) return false; 4 while(n%2==0) n/=2; 5 while(n%3==0) n/=3; 6 while(n%5==0) n/=5; 7 return n==1; 8 } 9 }