給定乙個自然數 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的熱愛,特此將大家的另一半的尋找方法公...