# -*- coding:utf-8 -*-
"""功能:整數最小因子拆分
例如:2*2*2*3=24
2*3=6
2*2*2*2*2*5*5=800
要求:輸入多組數值
"""from functools import
reduce
class
intnumber
:def
__init__
(self,n)
: self.n = n
@staticmethod
defintsplit
(n):
""" 拆分整數(遞迴)
"""for i in
range(2
,int
(n//2+
1)):
if n%i ==0:
return intnumber.intsplit(n/i)
#print(n) #此處的為最後一次迭代的值
defformatoutput
(self,re_list)
:"""
格式化輸出
"""int(self.n/
reduce
(lambda x,y:x*y,re_list)))
for i in
range(1
,len
(re_list)):
if i ==
len(re_list)-1
:print
(f""
,end="")
else
:print
(f"*"
,end="")
print
(f"="
)if __name__ ==
"__main__"
:while
true
: re_list =[1
]#此次變數不能定義在迴圈外。如果定義在迴圈外,
#則每次的值都會追加到列表中,從而引起結果的差異
try:
n =int(
input()
) c = intnumber(n)
intnumber.intsplit(n)
c.formatoutput(re_list)
except
:break
python整數劃分,遞迴演算法
正整數n,n m1 m2 mk,其中mi為正整數,並且1 mi n,集合是整數n的乙個劃分。輸入乙個不小於10的整數,輸出其所有整數劃分。將整數n劃分,假設某種劃分中m為最大的整數,則 n可分為n m,m,n m 再由 m 1 劃分 n m 可分為 n m m 1 m 1 n m m 1 再由 m ...
Python中物件導向之類
1.建構函式案例 class complex def init self,real,imag 此處要記得寫引數self self.r real self.i imag print 建構函式被呼叫 x complex 3.0,4.5 print x.r,x.i 2.析構函式 案例class compl...
python遞迴實現 遞迴演算法 python實現
在函式的定義中對這個函式自身的呼叫,就是遞迴。遞迴結構中,遞迴的部分必須比原來的整體簡單,才有可能到達某種終結點 出口 而且必須存在非遞迴的基本結構構成的部分,否則會無限遞迴。學習目標 程式設計實現斐波那契數列求值 f n f n 1 f n 2 程式設計實現求階乘 n 程式設計實現一組資料集合的全...