文章目录
- 题目描述
- 思路 & 代码
题目描述
- 打卡每日一题~(当然今天比较简单才写的)
- 第一次写可能有点懵(指对“丑数”这个概念不太理解)
- 不过写完后,感觉是基本上不会忘记写法的那种
思路 & 代码
- 对于某丑数 x,有 :
x=2a∗3b∗5c(a、b、c>=0)x = 2^a * 3^b * 5^c (a、b、c >= 0)x=2a∗3b∗5c(a、b、c>=0) - 那么好办了,一直对2、3、5进行整除,如果到了2、3、5不能再除的情况时,
x != 1,那么说明 x 不是丑数
class Solution {public boolean isUgly(int n) {// 非正整数直接为 falseif(n < 1){return false;}while(n % 5 == 0){n /= 5;}while(n % 3 == 0){n /= 3;}while(n % 2 == 0){n /= 2;}return n == 1;}
}