Exemple pratique Python 14

Python 100例100 exemples Python

Problème :Factoriser un entier positif en facteurs premiers. Par exemple : entrée 90, afficher 90=2*3*3*5.

Analyse du programme :Pour factoriser n en facteurs premiers, trouvez d'abord le plus petit nombre premier k, puis suivez les étapes ci-dessous :
(1) Si ce nombre premier est exactement égal à n, cela signifie que le processus de factorisation en facteurs premiers est terminé ; il suffit de l'afficher.
(2) Si n<>k, mais que n est divisible par k, alors affichez la valeur de k, et utilisez le quotient de n divisé par k comme nouveau nombre entier positif n, répétez la première étape.
(3) Si n n'est pas divisible par k, utilisez k+1 comme valeur de k, et répétez la première étape.

Code source du programme :

Exemple (Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- def reduceNum(n): print '{} = '.format(n), if not isinstance(n, int) or n <= 0 : print 'Veuillez saisir un nombre correct !' exit(0) elif n in [1] : print '{}'.format(n) while n not in [1] : # La boucle assure la récursion for index in xrange(2, n + 1) : if n % index == 0: n /= index # n est égal à n/index if n == 1: print index else : # index doit être un nombre premier print '{} *'.format(index), break reduceNum(90) reduceNum(100)

Exemple (Python 3.0+)

#!/usr/bin/python3 def reduceNum(n): print ('{} = '.format(n), end=" ") if not isinstance(n, int) or n <= 0 : print ('Veuillez saisir un nombre correct !') exit(0) elif n in [1] : print ('{}'.format(n)) while n not in [1] : # La boucle assure la récursion for index in range(2, n + 1) : if n % index == 0: n //= index # n est égal à n//index if n == 1: print (index ) else : # index doit être un nombre premier print ('{} *'.format(index), end=" ") break reduceNum(90) reduceNum(100)

Le résultat de sortie de l'exemple ci-dessus est :

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

Python 100例100 exemples Python

Autres extensions