Advertisement
AntonioVillanueva

Calculo de MCD de 3 numeros python3

Jul 25th, 2019
342
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.47 KB | None | 0 0
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8
  3. """
  4. Antonio Villanueva Segura
  5. Calculo de MCD de 3 numeros
  6. """
  7. #*******************************************************************************
  8. def esPrimo(num):
  9.     """test si es un numero primo"""
  10.     if num < 1:
  11.         return False
  12.     elif num == 2:
  13.         return True
  14.     else:
  15.         for i in range(2, num):
  16.             if num % i == 0:
  17.                 return False
  18.     return True  
  19.    
  20. #*******************************************************************************     
  21. def factores_primos (num):
  22.     """crea factorizacion de n. primos """
  23.     factores=[] #factores de este num
  24.     x=1
  25.     while (x <=num+1):
  26.         if esPrimo(x) and num%x==0:        
  27.             factores.append(x)
  28.             num=num/x
  29.             x=1
  30.         x+=1
  31.    
  32.     return factores
  33. #*******************************************************************************   
  34. def mcd(num1,num2,num3):
  35.     """calcula mcd de 2 numeros """
  36.     mcd=[] #lista con mcd
  37.     a=factores_primos (num1) #factores del 1er.
  38.     b=factores_primos (num2) #factores del 2°.
  39.     c=factores_primos (num3) #factores del 3er.
  40.  
  41.     for aa in a :
  42.         if aa in b and aa in c:
  43.             mcd.append(aa)
  44.             b.remove(aa)
  45.             c.remove(aa)
  46.     return mcd
  47. #*******************************************************************************
  48. """ Bucle principal y zona de Tests"""         
  49.  
  50. """Ejemplo de calculo de mcd 24,36,40 que 2*2=4"""
  51. print (mcd(24,36,40))#Analisis del mcd de 24 36 y 40
  52. print (mcd(2,3,5))#Analisis del mcd de 24 36 y 40
  53. """Ejemplo de calculo de mcd 24,36  que 2*2*3=12"""
  54. print (mcd(24,36,36))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement