Pythonは演習14を含みます
タイトル:品質係数の正の整数分解。 例:90 = 2 * 3 * 3 * 5プリントアウトする90を入力します。
プログラム解析:n個の品質係数の分解には、まず以下の手順に従って、その後、最小の素数kを見つける必要があります。
nと正確に等しい素数は、プロセスの品質係数の分解が終了している場合(1)、あなたは印刷することができます。
(2)のn <> K、kはなく、nは、kの値をプリントアウトn個の商で割ってkをべきで割り切れるならば、あなたは新しい正の整数nとして、最初のステップを繰り返します。
(3)nがKで割り切れない場合は、K + 1は、第1の手順を繰り返し、kの値として使用されます。
ソースコード:
#!/usr/bin/python # -*- coding: UTF-8 -*- def reduceNum(n): print '{} = '.format(n), if not isinstance(n, int) or n <= 0 : print '请输入一个正确的数字 !' exit(0) elif n in [1] : print '{}'.format(n) while n not in [1] : # 循环保证递归 for index in xrange(2, n + 1) : if n % index == 0: n /= index # n 等于 n/index if n == 1: print index else : # index 一定是素数 print '{} *'.format(index), break reduceNum(90) reduceNum(100)
上の例の出力は、次のとおりです。
90 = 2 * 3 * 3 * 5 100 = 2 * 2 * 5 * 5