Guest User

Untitled

a guest
Aug 23rd, 2021
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. #!/usr/bin/python3.7
  2. import numpy;
  3. import math
  4. from math import sqrt
  5.  
  6. def generatePrimeNumbers():
  7.  
  8. number = 2
  9. c = 0
  10.  
  11. while True:
  12.  
  13. if not (number % 2 == 0 and number > 2):
  14.  
  15. for divisor in range(3, int(sqrt(number))+1, 2):
  16. if number % divisor == 0:
  17. c = 1
  18. break
  19.  
  20. if c != 1:
  21. yield number
  22.  
  23. number += 1
  24. c = 0
  25.  
  26. def getPrimeFactors(multiple):
  27.  
  28. primeNumbers = generatePrimeNumbers()
  29.  
  30. output = []
  31.  
  32. while multiple > 1:
  33.  
  34. factor = next(primeNumbers)
  35.  
  36. if multiple % factor == 0:
  37. output.append(factor)
  38. multiple /= factor
  39. primeNumbers = generatePrimeNumbers()
  40. else:
  41. continue
  42.  
  43. return output
  44.  
  45.  
  46.  
  47. def generateSequence(k):
  48. x = [0,0.5]
  49. for i in range(2,k):
  50. xi = 1;
  51. factors = getPrimeFactors(i);
  52.  
  53. for factor in factors:
  54.  
  55. sumprev = 0;
  56.  
  57. for i in range(1,factor):
  58. if factor != k and factor != 1:
  59. sumprev -= x[i]
  60.  
  61. xi *= sumprev
  62.  
  63. x.append(xi)
  64. return x;
  65.  
  66.  
  67. #seq = generateSequence(97);
  68. #print(seq);
  69. #print(sum(seq))
  70.  
Advertisement
Add Comment
Please, Sign In to add comment