Python incluye ejercicios 14
Título: una descomposición entero positivo del factor de calidad. Por ejemplo: Introduzca 90 para imprimir 90 = 2 * 3 * 3 * 5.
Programa de análisis: la descomposición del factor de calidad n, primero debe encontrar un número primo más pequeño k, entonces, de acuerdo a los siguientes pasos:
(1) Si el número primo exactamente igual a n, entonces la descomposición del factor de calidad del proceso ha terminado, puede imprimir.
(2) si n <> k, k n, pero debe ser divisible imprimir el valor de k, k con n dividido por el cociente, usted como un nuevo número entero positivo n, repite el primer paso.
(3) si n no es divisible por k, k + 1 se utiliza como el valor de k, repetir la primera etapa.
Código fuente:
#!/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)
La salida del ejemplo anterior es:
90 = 2 * 3 * 3 * 5 100 = 2 * 2 * 5 * 5