""
"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行,每行對應乙個測試例,包...