每日一題 43 醜數

2021-06-16 15:27:43 字數 922 閱讀 1144

題目來自劍指offer

題目:

題目換句話說:醜數就是連續除以2,3,5,之後商為1的數.

**:

bool isuglynum(int nnum)

//消除因子3

while (nnum % 3 == 0)

//消除因子5

while (nnum % 5 == 0)

if (nnum == 1)

else

}

題目思路:醜數乘以2,3,5後仍是醜數。

具體來說:根據現有醜數,每次擴充套件乙個醜數。

(1)使用三個指標ncurone,ncurtwo,ncurthree用來分別產生乘以2,3,5後的候選醜數。

(2)之後取三個候選醜數的最小值,作為本次擴充套件的醜數。

(3)讓產生的候選醜數等於本次擴充套件醜數的指標都往前走一步。

注意:三個指標總是指向其待擴充套件的醜數

。**:

#include using namespace std;

const int size = 10000;

int min(int x,int y,int z)

else //y>x,x>=z

}else

else //x>y,y>z

}}int uglynum(int nindex)

if (narrugly[ncurthree] * 3 == ncurugly)

if (narrugly[ncurfive] * 5 == ncurugly)

}return ncurugly;

}int main()

{ cout<

Leetcode每日一題 264 醜數 II

給你乙個整數 n 請你找出並返回第 n 個 醜數 醜數 就是只包含質因數 2 3 和 或 5 的正整數。示例 1 輸入 n 10 輸出 12 解釋 1,2,3,4,5,6,8,9,10,12 是由前 10 個醜數組成的序列。示例 2 輸入 n 1 輸出 1 解釋 1 通常被視為醜數。很明顯,判斷每乙...

每日一題 劍指 Offer 49 醜數

tag 動態規劃 小根堆 難易程度 中等 題目描述 我們把只包含質因子 2 3 和 5 的數稱作醜數 ugly number 求按從小到大的順序的第 n 個醜數。示例 輸入 n 10 輸出 12 解釋 1,2,3,4,5,6,8,9,10,12 是前 10 個醜數。注意 1.1是醜數 2.n 169...

每日一題 劍指 Offer 49 醜數

tag 動態規劃 小根堆 難易程度 中等 題目描述 我們把只包含質因子 2 3 和 5 的數稱作醜數 ugly number 求按從小到大的順序的第 n 個醜數。示例 輸入 n 10 輸出 12 解釋 1,2,3,4,5,6,8,9,10,12 是前 10 個醜數。注意 1.1是醜數 2.n 169...