191010のpython3素因数分解

#タイトル:品質係数の正の整数分解。入力90、90 = 3 * 2 * 3 * 5を印刷する:例えば。
#プログラム解析:N-分解品質係数は、次の手順が完了し、最も小さい素数kを見つけるべきである:
nと正確に等しいプライムは、プロセスの品質係数の分解が終了している場合#(1)は、プリントアウトそれはすることができます。
N <> K、Kが、N割り切れる場合(#2)は、商で割ったnのk及びkの値を印刷し、新しい正の整数として、N、最初のステップを繰り返すべきです。
#(3)においてnがKで割り切れない場合は、K + 1はkの値として使用され、最初のステップは、繰り返し実行されます。
方法:係数を使用して、リストのappendメソッドを追加します。
1 = INT(INPUT(NUM " 合成数を入力してください" ))
 2 N- = NUM
 3のList1 = []
 。4  
。5  ための I における範囲(INT(N / 2)+ +1 ):
 6      Rangeオブジェクトのみが陽性であることができます整数、nは小数点可能/ 2 
7      サイクル:nの最大の要因自体(素数)、2の最小因子、
8      最大サイクル数N / 2できるように、
図9      のために J レンジ(2 、N-) :
 10          IF NUM%のJの== 0:
 11              list1.append(J)
 12である              NUM = NUM // J
 13は             BREAK
14  ''' 
15  (N-2)の範囲内のjに対して:    
 16      #jが割り切れる場合jが割り切れる倍であるが、一度だけ記録されている場合、それは、Jの因子である
 17。     NUMはj個の%をIF = 0 =:
 18です         list1.append(J)
 。19          NUM = NUM J //
 20が         続行
 21がされて '' ' 
22で のIFでlen(List1を)== 0:
 23は、ある     印刷" この数は素数で、再度入力してください別の番号。" 24      出口()
 25  プリント(リスト1)
 26が プリント' %のD = '%のN-、エンド= '' 27  のための K:範囲(LEN(LIST1))
 28      場合のみ==(LIST1)-1用29          プリント" %sの"%のLIST1 [K])
 30      31          プリント" %S * "%のLIST1 [A] 、端= '' 
コードの表示

方法2:ファクタフォーマットを添加する方法を用いて、

1  DEF reduceNum(N):
 2      プリント' {} = ' .format(N)、終了= '' 3。     IF  ませんでisinstance(nは、INT)又は N <= 0:
 4          でisinstanceは、データのN INTか否かを判断します;データ型
。5          プリント' !正しい番号を入力してください' 。6          出口(0)
 。7      ELIFの N- における [1 ]:
 図8          プリント' {} ' (N).formatは)
 。9      、一方は、 N- ていない [1 ]:
 10          のための I における範囲(2、INT(N + 1 )):
 11              であれば、n個の%I == 0:
 12                  N / A = iが
 13                  であれば、N == 1 14                      プリント(I)
 15                  16                      印刷' {} * ' .format(I)、終了= '' 17                  休憩
18  
19  reduceNum(-90)
20 reduceNum(1)
コードの表示

 ます。https://www.runoob.com/python/python-exercise-example14.html新人のチュートリアルを参照してください。

おすすめ

転載: www.cnblogs.com/jakye/p/11647574.html