Latest web development tutorials

Pythonは演習14を含みます

Pythonの100リー Pythonの100リー

タイトル:品質係数の正の整数分解。 例: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

Pythonの100リー Pythonの100リー