Maison  >  Article  >  développement back-end  >  Exemple d'algorithme de factorisation premier implémenté en Python

Exemple d'algorithme de factorisation premier implémenté en Python

不言
不言original
2018-05-03 13:54:584612parcourir

Cet article présente principalement l'algorithme de factorisation première implémenté en Python, impliquant des compétences opérationnelles liées aux opérations mathématiques Python. Les amis dans le besoin peuvent s'y référer

Cet article décrit l'algorithme de factorisation première implémenté en Python avec des exemples. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Je voulais à l'origine implémenter un autre problème d'algorithme mathématique de base, mais j'ai découvert que l'algorithme de décomposition des facteurs premiers doit être terminé avant la mise en œuvre.

Je ne suis pas allé en ligne pour chercher un meilleur algorithme de solution, j'ai juste écrit un algorithme de solution provisoire basé sur ma propre compréhension. Il s'agit de la méthode de devinette mentionnée par le professeur dans le cours ouvert du MIT. Le code est implémenté comme suit :

#!/usr/bin/python
def PrimeNum(num):
   r_value =[]
   for i inrange(2,num+1):
      for jin range(2,i):
         ifi % j == 0:
            break
      else:
         r_value.append(i)
   returnr_value
def PrimeFactorSolve(num,prime_list):
   for n inprime_list:
      ifnum % n == 0:
         return[n,num / n]
def Primepisor(num):
   prime_range= PrimeNum(num)
   ret_vale =[]
   while numnot in prime_range:
      factor_list= PrimeFactorSolve(num,prime_range)
      ret_vale.append(factor_list[0])
      num =factor_list[1]
   else:
      ret_vale.append(num)
   printret_vale
Primepisor(120)

Les résultats de l'exécution du programme sont les suivants :

E : WorkSpace

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn