iT邦幫忙

2024 iThome 鐵人賽

0
Python

30日自學Python系列 第 28

練習1

  • 分享至 

  • xImage
  •  

練習:輸入一個整數,印出該整數的質因數。

def prime_factors(n):
    factors = []
    #2是唯一一個偶數質數,也是最小的質數
    while n % 2 == 0:
        factors.append(2)
        n //= 2
    
    #從3開始處理奇數
    factor = 3
    while factor * factor <= n:
        while n % factor == 0:
            factors.append(factor)
            n //= factor
        factor += 2
    
    # 若n本身是質數,且大於2,則將n加入質因數
    if n > 2:
        factors.append(n)
    
    return factors

#輸入輸出
number = int(input())
print(prime_factors(number))

input:
42

output:
[2, 3, 7]


上一篇
類別class
下一篇
練習2
系列文
30日自學Python30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言