python因子分解

2021-10-03 06:10:43 字數 1020 閱讀 3927

""

"name: wzl

date: 2020/1/10

task: 數的因子分解"""

import math

def is_prim(num): #判斷素數

is_prime = true

for i in range(2,int(math.sqrt(num))+1):

if num%i==0:

is_prime = false

break

if is_prime and num!=1:

return true

else:

return false

#36 = 2*2*3*3

#56 = 2*2*2*7

# edit

def factor_split(num):

result =

#定義空列表存放因子

while not is_prim(num):

for i in range(2,num):

if num%i==0:

break

num = num//i

return

'*'.join(str(j)

for j in result)

number = int(input(

'please enter the number: '

))if is_prim(number):

print(

'{}=1*{}'.format(number,number))

else:

answer = factor_split(number)

print(str(number)+'='+answer)

please enter the number: 56

56=2*2*2*7

這個函式比較複雜,首先要判斷素數,如果是素數,因子分解為 1 乘以它本身,如果不是素數,再進一步分解為素數相乘。

Python整數因子分解

計算機演算法設計與分析 課後練習題 問題描述 大於1 的正整數n 可以分解為 n x1 x 2 xm。例如,當n 12 時,共有8 種不同的分解式 12 12 12 6x2 12 4x3 12 3x4 12 3x2x2 12 2x6 12 2x3x2 12 2x2x3。程式設計任務 對於給定的正整數...

質因子分解

今天沒事做,我們來寫個部落格,混混等級!我們以求數的質因子的個數為例來講解。對於質因子分解最簡單最純粹的暴力我相信大家都會的。int getnum int x return ans 但是當處理的資料比較多,而且範圍也比較大的時候顯然這種方式就不再那麼適合了。既然我們是分解質因子,那麼我們就可以先預處...

分解素因子

time limit 1500ms memory limit 10000k 有疑問?點這裡 假設x是乙個正整數,它的值不超過65535 即1 x 65535 請編寫乙個程式,將x分解為若干個素數的乘積。輸入的第一行含乙個正整數k 1 k 10 表示測試例的個數,後面緊接著k行,每行對應乙個測試例,包...