Facebook
From Edgy Hummingbird, 3 Years ago, written in Python.
Embed
Download Paste or View Raw
Hits: 62
  1. def zehra_find_prime_factors(number):
  2.     liste=list(range(1,int(number)+1))
  3.     #print(liste)
  4.     factornum=[]
  5.     for i in range(len(liste)):
  6.          if liste[-1]%liste[i]==0:
  7.               factornum.append(liste[i])
  8.     # factornum.remove(0)
  9.     # print(factornum)
  10.     nonprimefactor=[]
  11.     a=int(len(factornum))
  12.  
  13.     #print(a)
  14.     for i in range(len(factornum)):
  15.          # for j in range( ( (a-1 )*a//2 ) +1):
  16.          for j in range(1, i):
  17.          # for j in range((a-1)):
  18.             if factornum[j] == 1:
  19.                 continue
  20.             if factornum[i]==factornum[j] :
  21.                  break
  22.             elif factornum[i]%factornum[j]==0 and factornum[i] not in nonprimefactor:
  23.                  nonprimefactor.append(factornum[i])
  24.     #print(nonprimefactor)
  25.     primefactor=[]
  26.     primefactor=list(set(factornum)-set(nonprimefactor))
  27.     primefactor.sort()
  28.     #print(primefactor)
  29.     print(primefactor)
  30.  
  31.  
  32.  
  33. def find_factors(number):
  34.     factors = []
  35.     for i in range(1, number):
  36.         if number % i == 0:
  37.             factors.append(i)
  38.     return factors
  39.  
  40. def chris_find_prime_factors_like_zehra(number):
  41.     all_factors = find_factors(number)
  42.  
  43.     non_prime_factor = set()
  44.     # print (all_factors)
  45.  
  46.     for index, factor in enumerate(all_factors):
  47.         for j in range(index):
  48.             subfactor = all_factors[j]
  49.             if subfactor == 1:
  50.                 continue
  51.             if factor == subfactor:
  52.                 break
  53.             if factor % subfactor==0:
  54.                 non_prime_factor.add(factor)
  55.  
  56.     prime_factors = list(set(all_factors)-non_prime_factor)
  57.     prime_factors.sort()
  58.     print(prime_factors)
  59.  
  60.  
  61.  
  62. def chris_find_prime_factors(number):
  63.     all_factors = find_factors(number)
  64.  
  65.     prime_factors = []
  66.     for factor in all_factors:
  67.         is_prime = len(find_factors(factor)) < 2 # all primes have 1 as factor, except 1
  68.         if is_prime:
  69.             prime_factors.append(factor)
  70.  
  71.     prime_factors.sort()
  72.     print(prime_factors)
  73.  
  74.  
  75. number=int(input('Enter a number'))
  76. zehra_find_prime_factors(number)
  77. chris_find_prime_factors_like_zehra(number)
  78. chris_find_prime_factors(number)
  79.