切換
舊版
前往
大廳
主題

LeetCode - 263. Ugly Number 解題心得

Not In My Back Yard | 2020-09-25 00:00:16 | 巴幣 4 | 人氣 142

題目連結:


題目意譯:
撰寫一個程式去判斷給定的數字是否為一個醜數。

一個醜數定義為一個質因數只包含 2 、 3 或是 5 的正整數。

注:
1 這個數字特別地定義為醜數。
輸入在 32 位元有號整數的範圍內:[-2 ^ 31, 2 ^ 31 - 1]



範例測資:
範例 1:
輸入: 6
輸出: true
解釋: 6 = 2 × 3

範例 2:
輸入: 8
輸出: true
解釋: 8 = 2 × 2 × 2

範例 3:
輸入: 14
輸出: false
解釋: 14 不是一個醜數,因為它有另一個質因數為 7。


解題思維:
將給定的數字一直除以 2 、 3 、 5 (如果除得盡的話),除到該數不是 2 、 3 或是 5 的倍數為止。然後判斷目前的數字是不是 1 。如果不是 1 ,代表原本的數字不是醜數,因為表示它有 2 、 3 、 5 以外的質因數;反之,原本的數字是一個醜數。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作