乙個數的所有因子 Python

2021-08-20 11:31:59 字數 1146 閱讀 1934

給定乙個自然數 n,求這個自然數的所有因子(包括1)。

注意:一般認為,因子就是所有可以整除這個自然數的整數,不包括這個數自身。

# 求乙個自然數的所有因子 -- python

# 問題分析 :從1到n,依次對n取餘,如果這個數是它的因子,則保留。

# 然後對 n,i, 更新重新此過程,直到結束(考慮重複新增情況)。

# @time :2018/6/4

# @author :liuyinxing

def allfactor(n):

if n == 0: return [0]

if n <=3: return [1]

tmp = n

rlist = [1]

i = 2

while i <= tmp:

if tmp % i == 0:

if i != rlist[-1]:

tmp = tmp // i

i = 2

continue

i += 1

return rlist if n != rlist[-1] else rlist[:-1]

if __name__ == '__main__':

print(allfactor(7))

# 求乙個自然數 = 因子的乘積,輸出因子的序列 -- python

# 問題分析 :從1到n,依次對n取餘,如果這個數是它的因子,則保留。

# 然後對 n,i, 更新重新此過程,直到結束。

# @time :2018/6/4

# @author :liuyinxing

def allfactor(n):

if n == 0: return [0]

if n == 1: return [1]

rlist = [1]

i = 2

while i <= n:

if n % i == 0:

n = n // i

i = 2

continue

i += 1

return rlist

if __name__ == '__main__':

print(allfactor(88))

找乙個數的因子個數,因子和

1.所有因子個數 如果乙個數是因數,就不斷除這個數,儲存這個因子次方的數 temp 運用所有因子個數計算公式 見上圖 儲存因子個數的 ans不斷乘 temp 1 注意 當最後,在 x 不斷除因數得到的值有兩種情況 x 1,這說明 x 沒有其他因子了。x 1,這時 x 為其乙個素數因子 且這個因子大於...

判斷乙個數的素因子個數

有感而發 就寫一下 doge 這裡手動 solemntee include using namespace std typedef long long ll intmain ans if n 1 ans 如果是個素數 n就不會被除到1 cout 輸出乙個非素數的所有素因子 個數 include us...

C語言基礎題 求乙個數的所有因子和

七夕節那天,hx073269來到數字王國,他在城門上貼了一張告示,並且和數字王國的人們說 你們想知道你們的另一半是誰嗎?那就按照告示上的方法去找吧 人們紛紛來到告示前,都想知道誰才是自己的另一半.告示如下 值此七夕佳節來臨之際,為感謝廣大群眾對我hx073269的熱愛,特此將大家的另一半的尋找方法公...