加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

[Swift]LeetCode263. 丑数 | Ugly Number

发布时间:2020-12-14 05:11:12 所属栏目:百科 来源:网络整理
导读: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 . Example 1: Input: 6Output: trueExplanation: 6 = 2 ×?3 Example 2: Input: 8Output: trueExplanatio

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.

Example 1:

Input: 6
Output: true
Explanation: 6 = 2 ×?3

Example 2:

Input: 8
Output: true
Explanation: 8 = 2 × 2 ×?2

Example 3:

Input: 14
Output: false 
Explanation:  is not ugly since it includes another prime factor .
147

Note:

  1. 1?is typically treated as an ugly number.
  2. Input is within the 32-bit signed integer range:?[?231,? 231?? 1].

编写一个程序判断给定的数是否为丑数。

丑数就是只包含质因数?2,5?的正整数。

示例 1:

输入: 6
输出: true
解释: 6 = 2 ×?3

示例 2:

输入: 8
输出: true
解释: 8 = 2 × 2 ×?2

示例?3:

输入: 14
输出: false 
解释:  不是丑数,因为它包含了另外一个质因数?。147

说明:

  1. 1?是丑数。
  2. 输入不会超过 32 位有符号整数的范围:?[?231,? 231?? 1]。

?

20ms

 1 class Solution {
 2     func isUgly(_ num: Int) -> Bool {
 3         if num < 1 {return false}
 4         var number:Int = num
 5         while (number % 2 == 0)
 6         {
 7             number /= 2
 8         }
 9         while (number % 3 == 0)
10         {
11             number /= 3
12         }
13         while (number % 5 == 0)
14         {
15             number /= 5
16         }
17         return number == 1
18     }
19 }

16ms

 1 class Solution {
 2     func maxDiv(_ num: inout Int,_ div: Int) {
 3         while (num % div == 0) {
 4             num = num/div
 5         }
 6     }
 7     
 8     func isUgly(_ num: Int) -> Bool {
 9         if(num == 0) {
10             return false
11         }
12         var no = num
13         maxDiv(&no,2)
14         maxDiv(&no,3)
15         maxDiv(&no,5)
16         
17         if(no == 1){
18             return true
19         }
20         else {
21             return false
22         }
23         
24     }
25 }

20ms

 1 class Solution {
 2     func isUgly(_ num: Int) -> Bool {
 3         guard num > 0 else {return false}
 4         var n = num
 5         
 6         let divs = [2,3,5]
 7         for d in divs {
 8             while n % d == 0 {
 9                 n /= d
10             }
11         }
12         return n == 1
13     }
14 }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读