Python obejmuje ćwiczenia 14
Tytuł: dodatnia rozkładu współczynnika jakości. Na przykład: Wprowadzić 90 do wydrukowania 90 = 2 * 3 * 3 * 5.
Analiza Program: rozkład współczynnika jakości n, należy najpierw znaleźć najmniejszą liczbą pierwszą k, a następnie według następujących kroków:
(1) Jeżeli liczba pierwsza dokładnie równa n, to rozkład współczynnika jakości procesu została zakończona, można wydrukować.
(2) jeśli n <> k, k, ale n będzie podzielna powinien wydrukować wartości k, k z n podzielona przez iloraz, ty jako nowy dodatnia n, powtórz pierwszy krok.
(3) gdy n nie jest podzielna przez k, k + 1 jest wykorzystywana jako wartość K, powtórzyć pierwszy etap.
Kod źródłowy:
#!/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)
Powyższy przykład wyjście jest:
90 = 2 * 3 * 3 * 5 100 = 2 * 2 * 5 * 5