1492 n 的第 k 個因子

2021-10-23 08:28:58 字數 657 閱讀 2751

給你兩個正整數 n 和 k 。

如果正整數 i 滿足 n % i == 0 ,那麼我們就說正整數 i 是整數 n 的因子。

考慮整數 n 的所有因子,將它們 公升序排列 。請你返回第 k 個因子。如果 n 的因子數少於 k ,請你返回 -1 。

1.生成所有存起來,然後判斷,o(nlogn)。。。很暴力

2.o(n),直接一次迴圈,過程中判斷是否到第k的因子了,是就返回

好久沒刷題了,要堅持啊。。。

class solution:

def kthfactor(self, n: int, k: int) -> int:

c=0for i in range(1,n+1):

if n%i==0:

c+=1

if c==k:return i

return -1

class solution:

def kthfactor(self, n: int, k: int) -> int:

tmp=

for i in range(1,n+1):

tmp.sort()

if k>len(tmp):return -1

return tmp[k-1]

1492 n 的第 k 個因子

給你兩個正整數n和k。如果正整數i滿足n i 0,那麼我們就說正整數i是整數n的因子。考慮整數n的所有因子,將它們公升序排列。請你返回第k個因子。如果n的因子數少於k,請你返回 1。示例 1 輸入 n 12,k 3輸出 3解釋 因子列表包括 1,2,3,4,6,12 第 3 個因子是 3 示例 2 ...

1492 n 的第 k 個因子(暴力破解 分析)

1.問題描述 給你兩個正整數 n 和 k 如果正整數 i 滿足 n i 0 那麼我們就說正整數 i 是整數 n 的因子。考慮整數 n 的所有因子,將它們 公升序排列 請你返回第 k 個因子。如果 n 的因子數少於 k 請你返回 1 示例 1 輸入 n 12,k 3 輸出 3 解釋 因子列表包括 1,...

N的因子個數 HDU1492

hdu 1492 題意 給定乙個數求其因子數 該因子必須要以2 3 5 7作為基礎因子 思路 數論基礎題,參考部落格 在此表示感謝!求取冪次,然後每項加1互乘,以12為例,其可以分解為2 2 3,其中2 2與3 1,在12的各項因子中可以由2的0 1 2次方再乘上3的0 1次方得到,所以有2 3 6...