Python включает в себя упражнения 14
Название: положительное целое разложение добротности. Например: Введите 90 для распечатки = 2 90 * 3 * 3 * 5.
Анализ программы: разложение коэффициента п качества, вы должны сначала найти наименьшее число простое к, то в соответствии со следующими этапами:
(1) Если простое число в точности равно п, то разложение добротности процесса закончилось, вы можете распечатать.
(2) если п <> к, к а п делится следует распечатать значения к, к с п делится на частное, вы как новый натуральное число п, повторите первый шаг.
(3) если п не делится на к, к + 1, используется в качестве значения к, повторите первый шаг.
Исходный код:
#!/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