Python include esercizi 14
Titolo: un numero intero positivo decomposizione del fattore di qualità. Per esempio: inserire 90 per stampare 90 = 2 * 3 * 3 * 5.
Analisi del programma: la decomposizione del fattore di qualità n, si deve prima trovare un più piccolo numero primo k, quindi secondo le seguenti fasi:
(1) Se il numero primo esattamente uguale a n, allora la decomposizione del fattore di qualità del processo è terminato, è possibile stampare.
(2) se n <> k, k ma n sia divisibile dovrebbe stampare il valore di k, k con n diviso per il quoziente, è come un nuovo numero intero positivo n, ripetere il primo passo.
(3) se n non è divisibile per k, k + 1 è utilizzato come valore di k, ripetere il primo passo.
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)
L'output sopra esempio è:
90 = 2 * 3 * 3 * 5 100 = 2 * 2 * 5 * 5