File tree 6 files changed +196
-14
lines changed
solution/0200-0299/0263.Ugly Number
6 files changed +196
-14
lines changed Original file line number Diff line number Diff line change 39
39
40
40
<!-- 这里可写通用的实现逻辑 -->
41
41
42
+ - 若 ` n < 1 ` ,说明 n 一定不是丑数,返回 false。
43
+ - 若 ` n % 2 == 0 ` ,说明 2 是 n 的因子,此时应 ` n /= 2 ` ,然后继续判断 n 除以 2 后的值的因子。
44
+ - 若 ` n % 3 == 0 ` ,说明 3 是 n 的因子,此时应 ` n /= 3 ` ,然后继续判断 n 除以 3 后的值的因子。
45
+ - 若 ` n % 5 == 0 ` ,说明 5 是 n 的因子,此时应 ` n /= 5 ` ,然后继续判断 n 除以 5 后的值的因子。
46
+ - 最后,判断 n 是否等于 1,若是,说明 n 的因子只可能包含 2、3、5,返回 true;否则返回 false。
47
+
42
48
<!-- tabs:start -->
43
49
44
50
### ** Python3**
45
51
46
52
<!-- 这里可写当前语言的特殊实现逻辑 -->
47
53
48
54
``` python
49
-
55
+ class Solution :
56
+ def isUgly (self , n : int ) -> bool :
57
+ if n < 1 :
58
+ return False
59
+ while n % 2 == 0 :
60
+ n //= 2
61
+ while n % 3 == 0 :
62
+ n //= 3
63
+ while n % 5 == 0 :
64
+ n //= 5
65
+ return n == 1
50
66
```
51
67
52
68
### ** Java**
53
69
54
70
<!-- 这里可写当前语言的特殊实现逻辑 -->
55
71
56
72
``` java
73
+ class Solution {
74
+ public boolean isUgly (int n ) {
75
+ if (n < 1 ) return false ;
76
+ while (n % 2 == 0 ) {
77
+ n /= 2 ;
78
+ }
79
+ while (n % 3 == 0 ) {
80
+ n /= 3 ;
81
+ }
82
+ while (n % 5 == 0 ) {
83
+ n /= 5 ;
84
+ }
85
+ return n == 1 ;
86
+ }
87
+ }
88
+ ```
89
+
90
+ ### ** C++**
91
+
92
+ ``` cpp
93
+ class Solution {
94
+ public:
95
+ bool isUgly(int n) {
96
+ if (n < 1) return false;
97
+ while (n % 2 == 0) {
98
+ n /= 2;
99
+ }
100
+ while (n % 3 == 0) {
101
+ n /= 3;
102
+ }
103
+ while (n % 5 == 0) {
104
+ n /= 5;
105
+ }
106
+ return n == 1;
107
+ }
108
+ };
109
+ ```
57
110
111
+ ### **JavaScript**
112
+
113
+ ```js
114
+ /**
115
+ * @param {number} n
116
+ * @return {boolean}
117
+ */
118
+ var isUgly = function (n) {
119
+ if (n < 1) return false;
120
+ while (n % 2 == 0) {
121
+ n /= 2;
122
+ }
123
+ while (n % 3 == 0) {
124
+ n /= 3;
125
+ }
126
+ while (n % 5 == 0) {
127
+ n /= 5;
128
+ }
129
+ return n == 1;
130
+ };
58
131
```
59
132
60
133
### ** ...**
Original file line number Diff line number Diff line change 56
56
### ** Python3**
57
57
58
58
``` python
59
-
59
+ class Solution :
60
+ def isUgly (self , n : int ) -> bool :
61
+ if n < 1 :
62
+ return False
63
+ while n % 2 == 0 :
64
+ n //= 2
65
+ while n % 3 == 0 :
66
+ n //= 3
67
+ while n % 5 == 0 :
68
+ n //= 5
69
+ return n == 1
60
70
```
61
71
62
72
### ** Java**
63
73
64
74
``` java
75
+ class Solution {
76
+ public boolean isUgly (int n ) {
77
+ if (n < 1 ) return false ;
78
+ while (n % 2 == 0 ) {
79
+ n /= 2 ;
80
+ }
81
+ while (n % 3 == 0 ) {
82
+ n /= 3 ;
83
+ }
84
+ while (n % 5 == 0 ) {
85
+ n /= 5 ;
86
+ }
87
+ return n == 1 ;
88
+ }
89
+ }
90
+ ```
91
+
92
+ ### ** C++**
93
+
94
+ ``` cpp
95
+ class Solution {
96
+ public:
97
+ bool isUgly(int n) {
98
+ if (n < 1) return false;
99
+ while (n % 2 == 0) {
100
+ n /= 2;
101
+ }
102
+ while (n % 3 == 0) {
103
+ n /= 3;
104
+ }
105
+ while (n % 5 == 0) {
106
+ n /= 5;
107
+ }
108
+ return n == 1;
109
+ }
110
+ };
111
+ ```
65
112
113
+ ### **JavaScript**
114
+
115
+ ```js
116
+ /**
117
+ * @param {number} n
118
+ * @return {boolean}
119
+ */
120
+ var isUgly = function (n) {
121
+ if (n < 1) return false;
122
+ while (n % 2 == 0) {
123
+ n /= 2;
124
+ }
125
+ while (n % 3 == 0) {
126
+ n /= 3;
127
+ }
128
+ while (n % 5 == 0) {
129
+ n /= 5;
130
+ }
131
+ return n == 1;
132
+ };
66
133
```
67
134
68
135
### ** ...**
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public:
3
+ bool isUgly (int n) {
4
+ if (n < 1 ) return false ;
5
+ while (n % 2 == 0 ) {
6
+ n /= 2 ;
7
+ }
8
+ while (n % 3 == 0 ) {
9
+ n /= 3 ;
10
+ }
11
+ while (n % 5 == 0 ) {
12
+ n /= 5 ;
13
+ }
14
+ return n == 1 ;
15
+ }
16
+ };
Original file line number Diff line number Diff line change 1
1
class Solution {
2
- public boolean isUgly (int num ) {
3
- if (num < 1 ) {
4
- return false ;
2
+ public boolean isUgly (int n ) {
3
+ if (n < 1 ) return false ;
4
+ while (n % 2 == 0 ) {
5
+ n /= 2 ;
5
6
}
6
- while (num % 2 == 0 ) {
7
- num /= 2 ;
7
+ while (n % 3 == 0 ) {
8
+ n /= 3 ;
8
9
}
9
- while (num % 3 == 0 ) {
10
- num /= 3 ;
10
+ while (n % 5 == 0 ) {
11
+ n /= 5 ;
11
12
}
12
- while (num % 5 == 0 ) {
13
- num /= 5 ;
14
- }
15
- return num == 1 ;
13
+ return n == 1 ;
16
14
}
17
- }
15
+ }
Original file line number Diff line number Diff line change
1
+ /**
2
+ * @param {number } n
3
+ * @return {boolean }
4
+ */
5
+ var isUgly = function ( n ) {
6
+ if ( n < 1 ) return false ;
7
+ while ( n % 2 == 0 ) {
8
+ n /= 2 ;
9
+ }
10
+ while ( n % 3 == 0 ) {
11
+ n /= 3 ;
12
+ }
13
+ while ( n % 5 == 0 ) {
14
+ n /= 5 ;
15
+ }
16
+ return n == 1 ;
17
+ } ;
Original file line number Diff line number Diff line change
1
+ class Solution :
2
+ def isUgly (self , n : int ) -> bool :
3
+ if n < 1 :
4
+ return False
5
+ while n % 2 == 0 :
6
+ n //= 2
7
+ while n % 3 == 0 :
8
+ n //= 3
9
+ while n % 5 == 0 :
10
+ n //= 5
11
+ return n == 1
You can’t perform that action at this time.
0 commit comments