Latest web development tutorials

Python beinhaltet 14 Übungen

Python 100 Li Python 100 Li

Titel: eine positive ganze Zahl Zersetzung des Qualitätsfaktors. Zum Beispiel: 90 Geben Sie 90 = 2 * 3 * 3 * 5 auszudrucken.

Programmanalyse: die Zersetzung von n Qualitätsfaktor, sollten Sie zuerst eine kleinste Primzahl k finden, dann nach den folgenden Schritten:
(1) Wenn die Primzahl genau gleich n ist, dann ist die Zersetzung des Qualitätsfaktors des Prozesses beendet ist, können Sie auch ausdrucken.
(2) wenn n <> k, k aber n teilbar sein sollte, um den Wert von k drucken, k mit n durch den Quotienten geteilt, Sie als neue positive ganze Zahl n, wiederholen Sie den ersten Schritt.
(3) wenn n nicht teilbar durch k, k + 1 wird als der Wert von k verwendet wird, wiederholen Sie den ersten Schritt.

Source Code:

#!/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)

Das obige Beispiel Ausgabe lautet:

90 =  2 * 3 * 3 * 5
100 =  2 * 2 * 5 * 5

Python 100 Li Python 100 Li