LeetCode刷題實戰263:醜數

算法的重要性,我就很少說了吧,想去大廠,就必需要通過基礎知識和業務邏輯面試+算法面試。因此,爲了提升你們的算法能力,後續天天帶你們作一道算法題,題目就從LeetCode上面選 !今天和你們聊的問題叫作 醜數,咱們先來看題面:

An ugly number is a positive integer whose prime factors are limited to 2, 3, and 5.面試

Given an integer n, return true if n is an ugly number.算法

給你一個整數 n ,請你判斷 n 是否爲 醜數 。若是是,返回 true ;不然,返回 false 。醜數 就是隻包含質因數 二、3 和/或 5 的正整數。

示例

 

示例 1:

輸入:n = 6
輸出:true
解釋:6 = 2 × 3

示例 2:

輸入:n = 8
輸出:true
解釋:8 = 2 × 2 × 2

示例 3:

輸入:n = 14
輸出:false
解釋:14 不是醜數,由於它包含了另一個質因數 7 。

示例 4:

輸入:n = 1
輸出:true
解釋:1 一般被視爲醜數。ide

 

解題

 

若當前數能整除2,3,5,則一直整除2,3,5,直到不能整除爲止,判斷最後的數是否等於1便可,若是不是1就說明還有其餘因子

class Solution {
    public boolean isUgly(int num) {
        if(num <= 0) return false;
        while(num % 2 == 0) num /= 2;
        while(num % 3 == 0) num /= 3;
        while(num % 5 == 0) num /= 5;
        return num == 1;
    }
}it

好了,今天的文章就到這裏,若是以爲有所收穫,大家的支持是我最大的動力 。

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

相關文章
相關標籤/搜索